using CMSMicroservice.Domain.Enums;

namespace CMSMicroservice.Application.UserOrderCQ.Queries.GetAllUserOrderByFilter;
public class GetAllUserOrderByFilterResponseDto
{
    //متادیتا 
    public MetaData MetaData { get; set; }
    //مدل خروجی 
    public List<GetAllUserOrderByFilterResponseModel>? Models { get; set; }

}public class GetAllUserOrderByFilterResponseModel
{
    //شناسه 
    public long Id { get; set; }
    //قیمت 
    public long Amount { get; set; }
    //شناسه پکیج 
    public long PackageId { get; set; }
    //شناسه تراکنش 
    public long? TransactionId { get; set; }
    //وضعیت پرداخت 
    public PaymentStatus PaymentStatus { get; set; }
    //تاریخ پرداخت 
    public DateTime? PaymentDate { get; set; }
    //شناسه کاربر 
    public long UserId { get; set; }
    //شناسه آدرس کاربر 
    public long UserAddressId { get; set; }
    // 
    public PaymentMethod? PaymentMethod { get; set; }
    // 
    public string? UserAddressText { get; set; }
    // 
    public List<GetAllUserOrderByFilterResponseModelFactorDetail>? FactorDetails { get; set; }
    // وضعیت ارسال سفارش
    public DeliveryStatus DeliveryStatus { get; set; }
    // کد رهگیری مرسوله
    public string? TrackingCode { get; set; }
    // توضیحات ارسال
    public string? DeliveryDescription { get; set; }
    // نام کامل کاربر
    public string? UserFullName { get; set; }
    // کدملی کاربر
    public string? UserNationalCode { get; set; }
    // مبلغ مالیات بر ارزش افزوده (ریال)
    public long VatAmount { get; set; }
    // درصد مالیات بر ارزش افزوده (مثلاً 9 برای 9٪)
    public double VatPercentage { get; set; }
}
public class GetAllUserOrderByFilterResponseModelFactorDetail
{
    //شناسه 
    public long ProductId { get; set; }
    // 
    public string ProductTitle { get; set; }
    // 
    public string? ProductThumbnailPath { get; set; }
    // 
    public long? UnitPrice { get; set; }
    // 
    public int? Count { get; set; }
    // 
    public long? UnitDiscountPrice { get; set; }
}
