diff --git a/src/BackOffice/BackOffice.csproj b/src/BackOffice/BackOffice.csproj index 9d6ea7f..23b45c5 100644 --- a/src/BackOffice/BackOffice.csproj +++ b/src/BackOffice/BackOffice.csproj @@ -143,7 +143,7 @@ - + diff --git a/src/BackOffice/Pages/DiscountShop/Components/OrderDetailsDialog.razor b/src/BackOffice/Pages/DiscountShop/Components/OrderDetailsDialog.razor index 44a8fd5..24c2c8a 100644 --- a/src/BackOffice/Pages/DiscountShop/Components/OrderDetailsDialog.razor +++ b/src/BackOffice/Pages/DiscountShop/Components/OrderDetailsDialog.razor @@ -64,23 +64,17 @@ وضعیت پرداخت - @if (Order.PaymentCompleted) + + @GetPaymentStatusText(Order.PaymentStatusValue) + + @if (!string.IsNullOrEmpty(Order.TransactionId)) { - - پرداخت شده - - @if (!string.IsNullOrEmpty(Order.TransactionId)) - { - - کد تراکنش: @Order.TransactionId - - } - } - else - { - - در انتظار پرداخت - + + کد تراکنش: @Order.TransactionId + } @@ -96,10 +90,13 @@ @Order.Address.Title @Order.Address.Address - کد پستی: @Order.Address.PostalCode - @if (!string.IsNullOrEmpty(Order.Address.Phone)) + @if (!string.IsNullOrWhiteSpace(Order.Address.PostalCode)) { - تلفن: @Order.Address.Phone + کد پستی: @Order.Address.PostalCode + } + @if (!string.IsNullOrWhiteSpace(Order.Address.Phone)) + { + تلفن سفارش‌دهنده: @Order.Address.Phone } diff --git a/src/BackOffice/Pages/DiscountShop/Components/OrderDetailsDialog.razor.cs b/src/BackOffice/Pages/DiscountShop/Components/OrderDetailsDialog.razor.cs index b1f2a36..25970ad 100644 --- a/src/BackOffice/Pages/DiscountShop/Components/OrderDetailsDialog.razor.cs +++ b/src/BackOffice/Pages/DiscountShop/Components/OrderDetailsDialog.razor.cs @@ -157,6 +157,32 @@ public partial class OrderDetailsDialog }; } + private Color GetPaymentStatusColor(int status) => status switch + { + 0 => Color.Warning, + 1 => Color.Success, + 2 => Color.Error, + 3 => Color.Info, + _ => Color.Default + }; + + private string GetPaymentStatusText(int status) => status switch + { + 0 => "در انتظار پرداخت", + 1 => "پرداخت شده", + 2 => "ناموفق", + 3 => "بازپرداخت شده", + _ => "نامشخص" + }; + + private string GetPaymentStatusIcon(int status) => status switch + { + 1 => Icons.Material.Filled.CheckCircle, + 2 => Icons.Material.Filled.Cancel, + 3 => Icons.Material.Filled.Replay, + _ => Icons.Material.Filled.Schedule + }; + private enum StepState { Inactive = 0, diff --git a/src/BackOffice/Pages/UserOrder/Components/UserOrderDetailsDialog.razor b/src/BackOffice/Pages/UserOrder/Components/UserOrderDetailsDialog.razor index 5464e1e..63a9b77 100644 --- a/src/BackOffice/Pages/UserOrder/Components/UserOrderDetailsDialog.razor +++ b/src/BackOffice/Pages/UserOrder/Components/UserOrderDetailsDialog.razor @@ -123,6 +123,14 @@ { آدرسی ثبت نشده است. } + @if (!string.IsNullOrWhiteSpace(_model.PostalCode)) + { + کد پستی: @_model.PostalCode + } + @if (!string.IsNullOrWhiteSpace(_model.UserMobile)) + { + تلفن سفارش‌دهنده: @_model.UserMobile + } diff --git a/src/BackOffice/Services/DiscountOrder/DiscountOrderService.cs b/src/BackOffice/Services/DiscountOrder/DiscountOrderService.cs index bcd0828..8172bdc 100644 --- a/src/BackOffice/Services/DiscountOrder/DiscountOrderService.cs +++ b/src/BackOffice/Services/DiscountOrder/DiscountOrderService.cs @@ -102,6 +102,7 @@ public class DiscountOrderService : IDiscountOrderService DiscountBalanceUsed = response.DiscountBalanceUsed, GatewayAmount = response.GatewayAmount, PaymentCompleted = response.PaymentCompleted, + PaymentStatusValue = (int)response.PaymentStatus, TransactionId = response.TransactionId, Status = MapFromProtoStatus(response.DeliveryStatus, response.PaymentCompleted), TrackingCode = response.TrackingCode, diff --git a/src/BackOffice/Services/DiscountOrder/IDiscountOrderService.cs b/src/BackOffice/Services/DiscountOrder/IDiscountOrderService.cs index 07147a1..0367b52 100644 --- a/src/BackOffice/Services/DiscountOrder/IDiscountOrderService.cs +++ b/src/BackOffice/Services/DiscountOrder/IDiscountOrderService.cs @@ -67,6 +67,8 @@ public class DiscountOrderDetailsDto public long DiscountBalanceUsed { get; set; } public long GatewayAmount { get; set; } public bool PaymentCompleted { get; set; } + /// مقدار proto PaymentStatus: 0 Pending, 1 Completed, 2 Failed, 3 Refunded + public int PaymentStatusValue { get; set; } public string? TransactionId { get; set; } public OrderStatus Status { get; set; } public string? TrackingCode { get; set; }