MemberEmailChangeLog.cs 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. namespace Domain.Entities.Members.Logs
  2. {
  3. /// <summary>
  4. /// 사용자 이메일 변경 내역
  5. /// </summary>
  6. public class MemberEmailChangeLog
  7. {
  8. public virtual Member Member { get; private set; } = null!;
  9. public int ID { get; private set; }
  10. public int MemberID { get; private set; }
  11. public string? BeforeEmail { get; private set; }
  12. public string AfterEmail { get; private set; } = default!;
  13. public string? Referer { get; private set; }
  14. public string? IpAddress { get; private set; }
  15. public string? UserAgent { get; private set; }
  16. public DateTime CreatedAt { get; private set; }
  17. protected MemberEmailChangeLog() { }
  18. public MemberEmailChangeLog(
  19. int memberID,
  20. string? beforeEmail,
  21. string afterEmail,
  22. string? referer,
  23. string? ipAddress,
  24. string? userAgent
  25. ) {
  26. if (string.IsNullOrWhiteSpace(afterEmail))
  27. {
  28. throw new ArgumentException("AfterEmail is required.", nameof(afterEmail));
  29. }
  30. MemberID = memberID;
  31. BeforeEmail = beforeEmail;
  32. AfterEmail = afterEmail;
  33. Referer = referer;
  34. IpAddress = ipAddress;
  35. UserAgent = userAgent;
  36. CreatedAt = DateTime.UtcNow;
  37. }
  38. }
  39. }