| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081 |
- using System.ComponentModel.DataAnnotations;
- using System.ComponentModel.DataAnnotations.Schema;
- namespace Domain.Entities.Members
- {
- public class MemberStats
- {
- [ForeignKey(nameof(MemberID))]
- public virtual Member Member { get; private set; } = null!;
- public byte[] RowVersion { get; set; } = Array.Empty<byte>();
- [Key]
- public int MemberID { get; set; }
- // 경험치
- public long Exp { get; set; } = 0;
- // 게시글 작성 수
- public long PostCount { get; set; } = 0;
- // 댓글 작성 수
- public long CommentCount { get; set; } = 0;
- // 받은 좋아요 수
- public long LikeReceivedCount { get; set; } = 0;
- // 준 좋아요 수
- public long LikeGivenCount { get; set; } = 0;
- // 신고 당한 횟수
- public long ReportedCount { get; set; } = 0;
- // 즐겨찾기 글 수
- public long BookmarkGivenCount { get; set; } = 0;
- // 경고 횟수
- public int WarningCount { get; set; } = 0;
- // 정지 횟수
- public int SuspensionCount { get; set; } = 0;
- // 로그인 횟수
- public long LoginCount { get; set; } = 0;
- // 출석 횟수
- public long AttendanceCount { get; set; } = 0;
- // 구독 중인 회원 수
- public long FollowingCount { get; set; } = 0;
- // 구독자 수
- public long FollowerCount { get; set; } = 0;
- // 결제 횟수
- public long PaymentCount { get; set; } = 0;
- // 누적 결제 금액
- public long TotalPaidAmount { get; set; } = 0;
- // 누적 취소/환불 금액
- public long TotalCanceledAmount { get; set; } = 0;
- private MemberStats() { }
- private MemberStats(int memberID)
- {
- if (memberID <= 0)
- {
- throw new ArgumentOutOfRangeException(nameof(memberID));
- }
- MemberID = memberID;
- }
- public static MemberStats Create(int memberID)
- {
- return new(memberID);
- }
- }
- }
|