diff --git a/src/BackOffice/BackOffice.csproj b/src/BackOffice/BackOffice.csproj
index 23b45c5..cc3aef2 100644
--- a/src/BackOffice/BackOffice.csproj
+++ b/src/BackOffice/BackOffice.csproj
@@ -143,7 +143,7 @@
-
+
diff --git a/src/BackOffice/Pages/DiscountShop/Components/ChangeOrderStatusDialog.razor b/src/BackOffice/Pages/DiscountShop/Components/ChangeOrderStatusDialog.razor
index b3d2e8b..51bffb5 100644
--- a/src/BackOffice/Pages/DiscountShop/Components/ChangeOrderStatusDialog.razor
+++ b/src/BackOffice/Pages/DiscountShop/Components/ChangeOrderStatusDialog.razor
@@ -26,6 +26,7 @@
در حال آمادهسازی
ارسال شده
تحویل داده شده
+ آماده تحویل در دفتر
لغو شده
مرجوع شده
@@ -55,6 +56,15 @@
}
+ @if (Model.Status == OrderStatus.ReadyForOfficePickup)
+ {
+
+
+ سفارش برای تحویل حضوری در دفتر آماده است.
+
+
+ }
+
@if (Model.Status == OrderStatus.Shipped)
{
@@ -126,8 +136,9 @@
OrderStatus.Processing => Color.Primary,
OrderStatus.Shipped => Color.Secondary,
OrderStatus.Delivered => Color.Success,
- OrderStatus.Cancelled => Color.Error,
- OrderStatus.Returned => Color.Dark,
+ OrderStatus.ReadyForOfficePickup => Color.Primary,
+ OrderStatus.Cancelled => Color.Dark,
+ OrderStatus.Returned => Color.Error,
_ => Color.Default
};
}
@@ -141,6 +152,7 @@
OrderStatus.Processing => "در حال آمادهسازی",
OrderStatus.Shipped => "ارسال شده",
OrderStatus.Delivered => "تحویل داده شده",
+ OrderStatus.ReadyForOfficePickup => "آماده تحویل در دفتر",
OrderStatus.Cancelled => "لغو شده",
OrderStatus.Returned => "مرجوع شده",
_ => "نامشخص"
diff --git a/src/BackOffice/Pages/DiscountShop/Components/OrderDetailsDialog.razor b/src/BackOffice/Pages/DiscountShop/Components/OrderDetailsDialog.razor
index 81c3ec1..3b22e32 100644
--- a/src/BackOffice/Pages/DiscountShop/Components/OrderDetailsDialog.razor
+++ b/src/BackOffice/Pages/DiscountShop/Components/OrderDetailsDialog.razor
@@ -91,6 +91,7 @@
در حال آمادهسازی
ارسال شده
تحویل داده شده
+ آماده تحویل در دفتر
لغو شده
مرجوع شده
@@ -114,6 +115,12 @@
توجه: در صورت لغو یا مرجوعی سفارش، موجودی محصولات به انبار بازگردانده میشود.
}
+ @if (_newStatus == OrderStatus.ReadyForOfficePickup)
+ {
+
+ سفارش برای تحویل حضوری در دفتر آماده است.
+
+ }
@if (_newStatus == OrderStatus.Shipped)
{
diff --git a/src/BackOffice/Pages/DiscountShop/DiscountOrdersMainPage.razor b/src/BackOffice/Pages/DiscountShop/DiscountOrdersMainPage.razor
index dafd690..802ed20 100644
--- a/src/BackOffice/Pages/DiscountShop/DiscountOrdersMainPage.razor
+++ b/src/BackOffice/Pages/DiscountShop/DiscountOrdersMainPage.razor
@@ -49,6 +49,8 @@
ارسال شده
تحویل داده شده
لغو شده
+ آماده تحویل در دفتر
+ مرجوع شده
diff --git a/src/BackOffice/Pages/DiscountShop/DiscountOrdersMainPage.razor.cs b/src/BackOffice/Pages/DiscountShop/DiscountOrdersMainPage.razor.cs
index e93e6fa..0dd0373 100644
--- a/src/BackOffice/Pages/DiscountShop/DiscountOrdersMainPage.razor.cs
+++ b/src/BackOffice/Pages/DiscountShop/DiscountOrdersMainPage.razor.cs
@@ -187,8 +187,9 @@ public partial class DiscountOrdersMainPage
OrderStatus.Processing => Color.Primary,
OrderStatus.Shipped => Color.Secondary,
OrderStatus.Delivered => Color.Success,
- OrderStatus.Cancelled => Color.Error,
- OrderStatus.Returned => Color.Dark,
+ OrderStatus.Cancelled => Color.Dark,
+ OrderStatus.ReadyForOfficePickup => Color.Primary,
+ OrderStatus.Returned => Color.Error,
_ => Color.Default
};
}
@@ -203,6 +204,7 @@ public partial class DiscountOrdersMainPage
OrderStatus.Shipped => "ارسال شده",
OrderStatus.Delivered => "تحویل داده شده",
OrderStatus.Cancelled => "لغو شده",
+ OrderStatus.ReadyForOfficePickup => "آماده تحویل در دفتر",
OrderStatus.Returned => "مرجوع شده",
_ => "نامشخص"
};
diff --git a/src/BackOffice/Pages/DiscountShop/SalesReports.razor b/src/BackOffice/Pages/DiscountShop/SalesReports.razor
index aefabdd..a58b7af 100644
--- a/src/BackOffice/Pages/DiscountShop/SalesReports.razor
+++ b/src/BackOffice/Pages/DiscountShop/SalesReports.razor
@@ -48,6 +48,7 @@
در حال پردازش
ارسال شده
تحویل شده
+ آماده تحویل در دفتر
لغو شده
مرجوع شده
@@ -498,7 +499,8 @@
OrderStatus.Processing => Color.Info,
OrderStatus.Shipped => Color.Info,
OrderStatus.Delivered => Color.Success,
- OrderStatus.Cancelled => Color.Error,
+ OrderStatus.ReadyForOfficePickup => Color.Primary,
+ OrderStatus.Cancelled => Color.Dark,
OrderStatus.Returned => Color.Error,
_ => Color.Default
};
@@ -513,6 +515,7 @@
OrderStatus.Processing => "در حال پردازش",
OrderStatus.Shipped => "ارسال شده",
OrderStatus.Delivered => "تحویل شده",
+ OrderStatus.ReadyForOfficePickup => "آماده تحویل در دفتر",
OrderStatus.Cancelled => "لغو شده",
OrderStatus.Returned => "مرجوع شده",
_ => "نامشخص"
diff --git a/src/BackOffice/Pages/UserOrder/Components/ChangeOrderStatusDialog.razor b/src/BackOffice/Pages/UserOrder/Components/ChangeOrderStatusDialog.razor
index b62ec9c..f1d7a22 100644
--- a/src/BackOffice/Pages/UserOrder/Components/ChangeOrderStatusDialog.razor
+++ b/src/BackOffice/Pages/UserOrder/Components/ChangeOrderStatusDialog.razor
@@ -27,6 +27,8 @@
تحویل پست
تحویل به مشتری
مرجوع شده
+ لغو شده
+ آماده تحویل در دفتر
@@ -56,6 +58,24 @@
}
+ @if (_newStatus == 5)
+ {
+
+
+ توجه: وضعیت «لغو شده» یعنی ارسال این سفارش متوقف شده است.
+
+
+ }
+
+ @if (_newStatus == 6)
+ {
+
+
+ سفارش برای تحویل حضوری در دفتر آماده است.
+
+
+ }
+
@if (_newStatus == 2)
{
diff --git a/src/BackOffice/Pages/UserOrder/Components/ChangeOrderStatusDialog.razor.cs b/src/BackOffice/Pages/UserOrder/Components/ChangeOrderStatusDialog.razor.cs
index cd1dea1..c22a23e 100644
--- a/src/BackOffice/Pages/UserOrder/Components/ChangeOrderStatusDialog.razor.cs
+++ b/src/BackOffice/Pages/UserOrder/Components/ChangeOrderStatusDialog.razor.cs
@@ -37,6 +37,8 @@ public partial class ChangeOrderStatusDialog
2 => "تحویل پست",
3 => "تحویل به مشتری",
4 => "مرجوع شده",
+ 5 => "لغو شده",
+ 6 => "آماده تحویل در دفتر",
_ => "بدون ارسال / نامشخص"
};
}
@@ -49,6 +51,8 @@ public partial class ChangeOrderStatusDialog
2 => Color.Info,
3 => Color.Success,
4 => Color.Error,
+ 5 => Color.Dark,
+ 6 => Color.Primary,
_ => Color.Default
};
}
diff --git a/src/BackOffice/Pages/UserOrder/Components/UserOrderDetailsDialog.razor b/src/BackOffice/Pages/UserOrder/Components/UserOrderDetailsDialog.razor
index 99434a8..8e0eba0 100644
--- a/src/BackOffice/Pages/UserOrder/Components/UserOrderDetailsDialog.razor
+++ b/src/BackOffice/Pages/UserOrder/Components/UserOrderDetailsDialog.razor
@@ -95,6 +95,8 @@
تحویل پست
تحویل به مشتری
مرجوع شده
+ لغو شده
+ آماده تحویل در دفتر
Color.Info, // InTransit
3 => Color.Success, // Delivered
4 => Color.Error, // Returned
+ 5 => Color.Dark, // Cancelled
+ 6 => Color.Primary, // ReadyForOfficePickup
_ => Color.Default // None / Unknown
};
}
@@ -71,6 +73,8 @@ public partial class UserOrderDetailsDialog
2 => "تحویل پست",
3 => "تحویل به مشتری",
4 => "مرجوع شده",
+ 5 => "لغو شده",
+ 6 => "آماده تحویل در دفتر",
_ => "بدون ارسال / نامشخص"
};
}
diff --git a/src/BackOffice/Pages/UserOrder/OrderSalesReports.razor b/src/BackOffice/Pages/UserOrder/OrderSalesReports.razor
index 3180253..917f8b6 100644
--- a/src/BackOffice/Pages/UserOrder/OrderSalesReports.razor
+++ b/src/BackOffice/Pages/UserOrder/OrderSalesReports.razor
@@ -46,6 +46,7 @@
تحویل به مشتری
مرجوع شده
لغو شده
+ آماده تحویل در دفتر
diff --git a/src/BackOffice/Pages/UserOrder/OrderSalesReports.razor.cs b/src/BackOffice/Pages/UserOrder/OrderSalesReports.razor.cs
index 8bc8042..a49698c 100644
--- a/src/BackOffice/Pages/UserOrder/OrderSalesReports.razor.cs
+++ b/src/BackOffice/Pages/UserOrder/OrderSalesReports.razor.cs
@@ -215,7 +215,8 @@ public partial class OrderSalesReports
2 => Color.Info,
3 => Color.Success,
4 => Color.Error,
- 5 => Color.Error,
+ 5 => Color.Dark,
+ 6 => Color.Primary,
_ => Color.Default
};
}
@@ -229,6 +230,7 @@ public partial class OrderSalesReports
3 => "تحویل به مشتری",
4 => "مرجوع شده",
5 => "لغو شده",
+ 6 => "آماده تحویل در دفتر",
_ => "بدون ارسال / نامشخص"
};
}
diff --git a/src/BackOffice/Pages/UserOrder/UserOrderMainPage.razor b/src/BackOffice/Pages/UserOrder/UserOrderMainPage.razor
index 306569c..64c4a5d 100644
--- a/src/BackOffice/Pages/UserOrder/UserOrderMainPage.razor
+++ b/src/BackOffice/Pages/UserOrder/UserOrderMainPage.razor
@@ -56,6 +56,7 @@
تحویل به مشتری
مرجوع شده
لغو شده
+ آماده تحویل در دفتر
diff --git a/src/BackOffice/Pages/UserOrder/UserOrderMainPage.razor.cs b/src/BackOffice/Pages/UserOrder/UserOrderMainPage.razor.cs
index ddc90d0..2681678 100644
--- a/src/BackOffice/Pages/UserOrder/UserOrderMainPage.razor.cs
+++ b/src/BackOffice/Pages/UserOrder/UserOrderMainPage.razor.cs
@@ -213,6 +213,8 @@ public partial class UserOrderMainPage
2 => Color.Info, // InTransit
3 => Color.Success, // Delivered
4 => Color.Error, // Returned
+ 5 => Color.Dark, // Cancelled
+ 6 => Color.Primary, // ReadyForOfficePickup
_ => Color.Default // None / Unknown
};
}
@@ -225,6 +227,8 @@ public partial class UserOrderMainPage
2 => "تحویل پست",
3 => "تحویل به مشتری",
4 => "مرجوع شده",
+ 5 => "لغو شده",
+ 6 => "آماده تحویل در دفتر",
_ => "بدون ارسال / نامشخص"
};
}
diff --git a/src/BackOffice/Services/DiscountOrder/DiscountOrderService.cs b/src/BackOffice/Services/DiscountOrder/DiscountOrderService.cs
index 8172bdc..4ce9555 100644
--- a/src/BackOffice/Services/DiscountOrder/DiscountOrderService.cs
+++ b/src/BackOffice/Services/DiscountOrder/DiscountOrderService.cs
@@ -201,12 +201,13 @@ public class DiscountOrderService : IDiscountOrderService
return status switch
{
OrderStatus.Pending => ProtoDeliveryStatus.DeliveryPending,
- OrderStatus.Paid => ProtoDeliveryStatus.DeliveryPending, // Paid but not processed yet
+ OrderStatus.Paid => ProtoDeliveryStatus.DeliveryPending,
OrderStatus.Processing => ProtoDeliveryStatus.DeliveryProcessing,
OrderStatus.Shipped => ProtoDeliveryStatus.DeliveryShipped,
OrderStatus.Delivered => ProtoDeliveryStatus.DeliveryDelivered,
OrderStatus.Cancelled => ProtoDeliveryStatus.DeliveryCancelled,
- OrderStatus.Returned => ProtoDeliveryStatus.DeliveryCancelled, // Treat as cancelled
+ OrderStatus.ReadyForOfficePickup => ProtoDeliveryStatus.DeliveryReadyForOffice,
+ OrderStatus.Returned => ProtoDeliveryStatus.DeliveryReturned,
_ => ProtoDeliveryStatus.DeliveryPending
};
}
@@ -222,6 +223,8 @@ public class DiscountOrderService : IDiscountOrderService
ProtoDeliveryStatus.DeliveryShipped => OrderStatus.Shipped,
ProtoDeliveryStatus.DeliveryDelivered => OrderStatus.Delivered,
ProtoDeliveryStatus.DeliveryCancelled => OrderStatus.Cancelled,
+ ProtoDeliveryStatus.DeliveryReadyForOffice => OrderStatus.ReadyForOfficePickup,
+ ProtoDeliveryStatus.DeliveryReturned => OrderStatus.Returned,
_ => OrderStatus.Pending
};
}
@@ -236,6 +239,8 @@ public class DiscountOrderService : IDiscountOrderService
ProtoDeliveryStatus.DeliveryShipped => OrderStatus.Shipped,
ProtoDeliveryStatus.DeliveryDelivered => OrderStatus.Delivered,
ProtoDeliveryStatus.DeliveryCancelled => OrderStatus.Cancelled,
+ ProtoDeliveryStatus.DeliveryReadyForOffice => OrderStatus.ReadyForOfficePickup,
+ ProtoDeliveryStatus.DeliveryReturned => OrderStatus.Returned,
_ => OrderStatus.Pending
};
}
diff --git a/src/BackOffice/Services/DiscountOrder/IDiscountOrderService.cs b/src/BackOffice/Services/DiscountOrder/IDiscountOrderService.cs
index 826e479..2328c18 100644
--- a/src/BackOffice/Services/DiscountOrder/IDiscountOrderService.cs
+++ b/src/BackOffice/Services/DiscountOrder/IDiscountOrderService.cs
@@ -27,13 +27,14 @@ public class OrderFilterDto
// For backward compatibility with UI - maps to proto DeliveryStatus
public enum OrderStatus
{
- Pending = 0, // DELIVERY_PENDING
- Paid = 1, // Not in proto - handle in service
- Processing = 2, // DELIVERY_PROCESSING
- Shipped = 3, // DELIVERY_SHIPPED
- Delivered = 4, // DELIVERY_DELIVERED
- Cancelled = 5, // DELIVERY_CANCELLED
- Returned = 6 // Not in proto - handle in service
+ Pending = 0, // DELIVERY_PENDING
+ Paid = 1, // Not in proto - handle in service
+ Processing = 2, // DELIVERY_PROCESSING
+ Shipped = 3, // DELIVERY_SHIPPED
+ Delivered = 4, // DELIVERY_DELIVERED
+ Cancelled = 5, // DELIVERY_CANCELLED
+ Returned = 6, // DELIVERY_RETURNED
+ ReadyForOfficePickup = 7 // DELIVERY_READY_FOR_OFFICE
}
public class DiscountOrderDto