namespace CMSMicroservice.Application.UserCQ.Queries.GetAllUserByFilter;
public record GetAllUserByFilterQuery : IRequest<GetAllUserByFilterResponseDto>
{
    //موقعیت صفحه بندی 
    public PaginationState? PaginationState { get; init; }
    //مرتب سازی بر اساس 
    public string? SortBy { get; init; }
    //فیلتر 
    public GetAllUserByFilterFilter? Filter { get; init; }

}public class GetAllUserByFilterFilter
{
    //جستجوی متنی (نام، نام خانوادگی، موبایل، کدملی)
    public string? SearchText { get; set; }
    //شناسه 
    public long? Id { get; set; }
    //نام 
    public string? FirstName { get; set; }
    //نام خانوادگی 
    public string? LastName { get; set; }
    //شماره موبایل 
    public string? Mobile { get; set; }
    //کد ملی 
    public string? NationalCode { get; set; }
    //آدرس آواتار 
    public string? AvatarPath { get; set; }
    //شناسه والد در شبکه 
    public long? NetworkParentId { get; set; }
    //کد ارجاع 
    public string? ReferralCode { get; set; }
    //موبایل فعال شده؟ 
    public bool? IsMobileVerified  { get; set; }
    //تاریخ فعال سازی موبایل 
    public DateTime? MobileVerifiedAt { get; set; }
    //اعلان ایمیل 
    public bool? EmailNotifications { get; set; }
    //اعلان پیامک 
    public bool? SmsNotifications { get; set; }
    //اعلان پوش 
    public bool? PushNotifications { get; set; }
    //تاریخ تولد 
    public DateTime? BirthDate { get; set; }
}
