using MediatR;

namespace CMSMicroservice.Application.PackageCQ.Queries.GetUserPackageStatus;

/// <summary>
/// دریافت وضعیت خرید پکیج کاربر
/// </summary>
public record GetUserPackageStatusQuery : IRequest<UserPackageStatusDto>
{
    public long UserId { get; init; }
}

public class UserPackageStatusDto
{
    public long UserId { get; set; }
    public string PackagePurchaseMethod { get; set; } = string.Empty; // None, DayaLoan, DirectPurchase
    public bool HasPurchasedPackage { get; set; }
    public bool IsClubMemberActive { get; set; }
    public long WalletBalance { get; set; }
    public long DiscountBalance { get; set; }
    public bool CanActivateClubMembership { get; set; }
    public string? LastOrderNumber { get; set; }
    public DateTime? LastPurchaseDate { get; set; }
}
