feat: Implement manual payment system with gRPC service and related commands/queries
This commit is contained in:
@@ -15,6 +15,7 @@ public class GetAllUserOrderByFilterQueryHandler : IRequestHandler<GetAllUserOrd
|
||||
.Include(i => i.User)
|
||||
.Include(i => i.FactorDetails)
|
||||
.ThenInclude(t => t.Product)
|
||||
.Include(i => i.OrderVAT)
|
||||
.ApplyOrder(sortBy: request.SortBy)
|
||||
.AsNoTracking()
|
||||
.AsQueryable();
|
||||
@@ -61,7 +62,9 @@ public class GetAllUserOrderByFilterQueryHandler : IRequestHandler<GetAllUserOrd
|
||||
TrackingCode = x.TrackingCode,
|
||||
DeliveryDescription = x.DeliveryDescription,
|
||||
UserFullName = (x.User.FirstName ?? string.Empty) + " " + (x.User.LastName ?? string.Empty),
|
||||
UserNationalCode = x.User.NationalCode
|
||||
UserNationalCode = x.User.NationalCode,
|
||||
VatAmount = x.OrderVAT != null ? x.OrderVAT.VATAmount : 0,
|
||||
VatPercentage = x.OrderVAT != null ? (double)(x.OrderVAT.VATRate * 100) : 0
|
||||
})
|
||||
.ToListAsync(cancellationToken);
|
||||
|
||||
|
||||
@@ -42,6 +42,10 @@ public class GetAllUserOrderByFilterResponseDto
|
||||
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
|
||||
{
|
||||
|
||||
@@ -16,6 +16,7 @@ public class GetUserOrderQueryHandler : IRequestHandler<GetUserOrderQuery, GetUs
|
||||
.Include(i => i.User)
|
||||
.Include(i => i.FactorDetails)
|
||||
.ThenInclude(t => t.Product)
|
||||
.Include(i => i.OrderVAT)
|
||||
.AsNoTracking()
|
||||
.Where(x => x.Id == request.Id)
|
||||
.Select(x => new GetUserOrderResponseDto
|
||||
@@ -43,7 +44,15 @@ public class GetUserOrderQueryHandler : IRequestHandler<GetUserOrderQuery, GetUs
|
||||
TrackingCode = x.TrackingCode,
|
||||
DeliveryDescription = x.DeliveryDescription,
|
||||
UserFullName = (x.User.FirstName ?? string.Empty) + " " + (x.User.LastName ?? string.Empty),
|
||||
UserNationalCode = x.User.NationalCode
|
||||
UserNationalCode = x.User.NationalCode,
|
||||
VatInfo = x.OrderVAT != null ? new OrderVATInfoDto
|
||||
{
|
||||
VatRate = x.OrderVAT.VATRate,
|
||||
BaseAmount = x.OrderVAT.BaseAmount,
|
||||
VatAmount = x.OrderVAT.VATAmount,
|
||||
TotalAmount = x.OrderVAT.TotalAmount,
|
||||
IsPaid = x.OrderVAT.IsPaid
|
||||
} : null
|
||||
})
|
||||
.FirstOrDefaultAsync(cancellationToken);
|
||||
|
||||
|
||||
@@ -27,7 +27,7 @@ public class GetUserOrderResponseDto
|
||||
public List<GetUserOrderResponseFactorDetail>? FactorDetails { get; set; }
|
||||
// وضعیت ارسال سفارش
|
||||
public DeliveryStatus DeliveryStatus { get; set; }
|
||||
// کد رهگیری مرسوله
|
||||
// کدرهگیری مرسوله
|
||||
public string? TrackingCode { get; set; }
|
||||
// توضیحات ارسال
|
||||
public string? DeliveryDescription { get; set; }
|
||||
@@ -35,8 +35,38 @@ public class GetUserOrderResponseDto
|
||||
public string? UserFullName { get; set; }
|
||||
// کدملی کاربر
|
||||
public string? UserNationalCode { get; set; }
|
||||
// اطلاعات مالیات بر ارزش افزوده
|
||||
public OrderVATInfoDto? VatInfo { get; set; }
|
||||
}
|
||||
|
||||
}public class GetUserOrderResponseFactorDetail
|
||||
/// <summary>
|
||||
/// اطلاعات مالیات بر ارزش افزوده
|
||||
/// </summary>
|
||||
public class OrderVATInfoDto
|
||||
{
|
||||
/// <summary>
|
||||
/// نرخ مالیات (مثلاً 0.09 = 9%)
|
||||
/// </summary>
|
||||
public decimal VatRate { get; set; }
|
||||
/// <summary>
|
||||
/// مبلغ پایه (قبل از مالیات)
|
||||
/// </summary>
|
||||
public long BaseAmount { get; set; }
|
||||
/// <summary>
|
||||
/// مبلغ مالیات
|
||||
/// </summary>
|
||||
public long VatAmount { get; set; }
|
||||
/// <summary>
|
||||
/// مبلغ کل (پایه + مالیات)
|
||||
/// </summary>
|
||||
public long TotalAmount { get; set; }
|
||||
/// <summary>
|
||||
/// آیا پرداخت شده
|
||||
/// </summary>
|
||||
public bool IsPaid { get; set; }
|
||||
}
|
||||
|
||||
public class GetUserOrderResponseFactorDetail
|
||||
{
|
||||
//شناسه
|
||||
public long ProductId { get; set; }
|
||||
|
||||
Reference in New Issue
Block a user