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; }
}