namespace CMSMicroservice.Domain.Entities.History; /// /// تاریخچه تغییرات دوره عضویت باشگاه (Q27) /// هر بار تغییر وضعیت چرخه (شروع، ورود/خروج جادویی، تکمیل)، یک رکورد ذخیره می‌شود. /// public class ClubMembershipCycleHistory : BaseAuditableEntity { /// /// شناسه چرخه /// public long ClubMembershipCycleId { get; set; } /// /// ClubMembershipCycle Navigation Property /// public virtual Club.ClubMembershipCycle? ClubMembershipCycle { get; set; } /// /// شناسه کاربر /// public long UserId { get; set; } /// /// شماره دور /// public int CycleNumber { get; set; } /// /// IsCurrentCycle قبل از تغییر /// public bool OldIsCurrentCycle { get; set; } /// /// IsCurrentCycle بعد از تغییر /// public bool NewIsCurrentCycle { get; set; } /// /// تاریخ شروع جادویی قبل از تغییر /// public DateTime? OldMagicStartedAt { get; set; } /// /// تاریخ شروع جادویی بعد از تغییر /// public DateTime? NewMagicStartedAt { get; set; } /// /// تاریخ تکمیل جادویی قبل از تغییر /// public DateTime? OldMagicCompletedAt { get; set; } /// /// تاریخ تکمیل جادویی بعد از تغییر /// public DateTime? NewMagicCompletedAt { get; set; } /// /// نوع عملیات /// public ClubMembershipCycleAction Action { get; set; } /// /// چه کسی انجام داده (UserId یا "System") /// public string? PerformedBy { get; set; } /// /// دلیل تغییر (اختیاری) /// public string? Reason { get; set; } }