namespace CMSMicroservice.Application.ClubFeatureCQ.Queries.GetUserClubFeatures;

/// <summary>
/// DTO برای ویژگی‌های باشگاه کاربر
/// </summary>
public class UserClubFeatureDto
{
    /// <summary>
    /// شناسه رکورد UserClubFeature
    /// </summary>
    public long Id { get; set; }

    /// <summary>
    /// شناسه کاربر
    /// </summary>
    public long UserId { get; set; }

    /// <summary>
    /// شناسه عضویت باشگاه
    /// </summary>
    public long ClubMembershipId { get; set; }

    /// <summary>
    /// شناسه ویژگی باشگاه
    /// </summary>
    public long ClubFeatureId { get; set; }

    /// <summary>
    /// عنوان ویژگی
    /// </summary>
    public string FeatureTitle { get; set; }

    /// <summary>
    /// توضیحات کوتاه ویژگی
    /// </summary>
    public string? FeatureDescription { get; set; }

    /// <summary>
    /// وضعیت فعال/غیرفعال ویژگی برای این کاربر
    /// </summary>
    public bool IsActive { get; set; }

    /// <summary>
    /// تاریخ اعطای ویژگی
    /// </summary>
    public DateTime GrantedAt { get; set; }

    /// <summary>
    /// یادداشت (برای نمایش در مدال جزئیات)
    /// </summary>
    public string? Notes { get; set; }
    
    /// <summary>
    /// ترتیب نمایش
    /// </summary>
    public int SortOrder { get; set; }
    
    /// <summary>
    /// تاریخ ایجاد رکورد
    /// </summary>
    public DateTime CreatedAt { get; set; }
}
