MemberStats.cs 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. namespace Domain.Entities.Members
  2. {
  3. public class MemberStats
  4. {
  5. public virtual Member Member { get; private set; } = null!;
  6. public byte[] RowVersion { get; set; } = Array.Empty<byte>();
  7. public int MemberID { get; set; }
  8. public long Exp { get; set; } = 0;
  9. public long PostCount { get; set; } = 0;
  10. public long CommentCount { get; set; } = 0;
  11. public long LikeReceivedCount { get; set; } = 0;
  12. public long LikeGivenCount { get; set; } = 0;
  13. public long ReportedCount { get; set; } = 0;
  14. public long BookmarkGivenCount { get; set; } = 0;
  15. public int WarningCount { get; set; } = 0;
  16. public int SuspensionCount { get; set; } = 0;
  17. public long LoginCount { get; set; } = 0;
  18. public long AttendanceCount { get; set; } = 0;
  19. public long FollowingCount { get; set; } = 0;
  20. public long FollowerCount { get; set; } = 0;
  21. public long PaymentCount { get; set; } = 0;
  22. public long TotalPaidAmount { get; set; } = 0;
  23. public long TotalCanceledAmount { get; set; } = 0;
  24. private MemberStats() { }
  25. private MemberStats(int memberID)
  26. {
  27. if (memberID <= 0)
  28. {
  29. throw new ArgumentOutOfRangeException(nameof(memberID));
  30. }
  31. MemberID = memberID;
  32. }
  33. public static MemberStats Create(int memberID)
  34. {
  35. return new(memberID);
  36. }
  37. }
  38. }