diff --git a/docs/CUSTOMER-SERVICES.md b/docs/CUSTOMER-SERVICES.md
index 05ff8bd..41a173e 100644
--- a/docs/CUSTOMER-SERVICES.md
+++ b/docs/CUSTOMER-SERVICES.md
@@ -101,7 +101,6 @@
| 6.6 | `UserOrderContract.SubmitShopBuyOrder` | `UserOrderContract` | `/checkout-summary` | ثبت سفارش و پرداخت از کیف پول |
| 6.7 | `OrderService.GetOrdersAsync` | `UserOrderContract.GetCustomerOrders` | `/orders` | لیست سفارشهای کاربر |
| 6.8 | `OrderService.GetOrderAsync` | `UserOrderContract.GetCustomerOrder` | `/order/{id}`, `/order-tracking/{id}` | جزئیات یک سفارش |
-| 6.9 | `OrderService.CalculateOrderPVAsync` | `UserOrderContract.CalculateOrderPV` | `/order/{id}` | محاسبه PV سفارش |
| 6.10 | `VATService.GetRateAsync` | `UserOrderContract` (via scope) | Store/Discount صفحات قیمت | نرخ مالیات بر ارزش افزوده (کش روزانه) |
| 6.11 | `WalletService.GetBalancesAsync` | `UserWalletContract` | `/checkout-summary` | بررسی موجودی برای پرداخت سفارش |
diff --git a/src/FrontOffice.Main/Pages/DiscountStore/Checkout.razor b/src/FrontOffice.Main/Pages/DiscountStore/Checkout.razor
index beba9e2..c455966 100644
--- a/src/FrontOffice.Main/Pages/DiscountStore/Checkout.razor
+++ b/src/FrontOffice.Main/Pages/DiscountStore/Checkout.razor
@@ -22,9 +22,11 @@
else if (_addresses.Count == 0)
{
- هیچ آدرسی ثبت نشده است. لطفاً از بخش پروفایل آدرس خود را اضافه کنید.
+ هیچ آدرسی ثبت نشده است. میتوانید همینجا آدرس جدید اضافه کنید.
- افزودن آدرس
+ افزودن آدرس
}
else
{
@@ -41,13 +43,25 @@
@address.Title
@address.Address
- @if (address.IsDefault)
- {
- پیشفرض
- }
+
+ @if (address.IsDefault)
+ {
+ پیشفرض
+ }
+
+
+
+
}
+ افزودن آدرس جدید
}
diff --git a/src/FrontOffice.Main/Pages/DiscountStore/Checkout.razor.cs b/src/FrontOffice.Main/Pages/DiscountStore/Checkout.razor.cs
index 1185e0b..3068fb4 100644
--- a/src/FrontOffice.Main/Pages/DiscountStore/Checkout.razor.cs
+++ b/src/FrontOffice.Main/Pages/DiscountStore/Checkout.razor.cs
@@ -1,5 +1,6 @@
using Microsoft.AspNetCore.Components;
using CMSMicroservice.Protobuf.Protos.UserAddress;
+using FrontOffice.Main.Pages.Profile.Components;
using FrontOffice.Main.Utilities;
using MudBlazor;
@@ -61,12 +62,14 @@ public partial class Checkout
else
{
_addresses = new();
+ _selectedAddress = null;
}
}
catch (Exception ex)
{
Snackbar.Add($"خطا در بارگذاری آدرسها: {ex.Message}", Severity.Error);
_addresses = new();
+ _selectedAddress = null;
}
finally
{
@@ -75,6 +78,30 @@ public partial class Checkout
}
}
+ private async Task OpenAddAddressDialog()
+ {
+ var dialog = await DialogService.ShowAsync("افزودن آدرس جدید");
+ var result = await dialog.Result;
+ if (result is { Canceled: false })
+ {
+ await AuthService.RefreshTokenAsync();
+ await LoadAddresses();
+ }
+ }
+
+ private async Task OpenEditAddressDialog(CustomerAddressModel address)
+ {
+ var dialog = await DialogService.ShowAsync("ویرایش آدرس", new DialogParameters
+ {
+ { x => x.Model, address }
+ });
+ var result = await dialog.Result;
+ if (result is { Canceled: false })
+ {
+ await LoadAddresses();
+ }
+ }
+
private async Task PlaceOrder()
{
if (!CanPlaceOrder || _selectedAddress is null)
diff --git a/src/FrontOffice.Main/Pages/Store/CheckoutSummary.razor b/src/FrontOffice.Main/Pages/Store/CheckoutSummary.razor
index b894fb3..9fcf078 100644
--- a/src/FrontOffice.Main/Pages/Store/CheckoutSummary.razor
+++ b/src/FrontOffice.Main/Pages/Store/CheckoutSummary.razor
@@ -21,9 +21,11 @@
else if (_addresses.Count == 0)
{
- هیچ آدرسی ثبت نشده است. لطفاً از بخش پروفایل آدرس خود را اضافه کنید.
+ هیچ آدرسی ثبت نشده است. میتوانید همینجا آدرس جدید اضافه کنید.
- افزودن آدرس
+ افزودن آدرس
}
else
{
@@ -40,13 +42,25 @@
@address.Title
@address.Address
- @if (address.IsDefault)
- {
- پیشفرض
- }
+
+ @if (address.IsDefault)
+ {
+ پیشفرض
+ }
+
+
+
+
}
+ افزودن آدرس جدید
}
diff --git a/src/FrontOffice.Main/Pages/Store/CheckoutSummary.razor.cs b/src/FrontOffice.Main/Pages/Store/CheckoutSummary.razor.cs
index 0c8aedf..479c633 100644
--- a/src/FrontOffice.Main/Pages/Store/CheckoutSummary.razor.cs
+++ b/src/FrontOffice.Main/Pages/Store/CheckoutSummary.razor.cs
@@ -1,5 +1,6 @@
using CMSMicroservice.Protobuf.Protos.UserAddress;
using CMSMicroservice.Protobuf.Protos.UserOrder;
+using FrontOffice.Main.Pages.Profile.Components;
using FrontOffice.Main.Shared;
using FrontOffice.Main.Utilities;
using Microsoft.AspNetCore.Components;
@@ -72,12 +73,14 @@ public partial class CheckoutSummary : ComponentBase
else
{
_addresses = new();
+ _selectedAddress = null;
}
}
catch (Exception ex)
{
Snackbar.Add($"خطا در بارگذاری آدرسها: {ex.Message}", Severity.Error);
_addresses = new();
+ _selectedAddress = null;
}
finally
{
@@ -86,6 +89,30 @@ public partial class CheckoutSummary : ComponentBase
}
}
+ private async Task OpenAddAddressDialog()
+ {
+ var dialog = await DialogService.ShowAsync("افزودن آدرس جدید");
+ var result = await dialog.Result;
+ if (result is { Canceled: false })
+ {
+ await AuthService.RefreshTokenAsync();
+ await LoadAddresses();
+ }
+ }
+
+ private async Task OpenEditAddressDialog(CustomerAddressModel address)
+ {
+ var dialog = await DialogService.ShowAsync("ویرایش آدرس", new DialogParameters
+ {
+ { x => x.Model, address }
+ });
+ var result = await dialog.Result;
+ if (result is { Canceled: false })
+ {
+ await LoadAddresses();
+ }
+ }
+
private async Task PlaceOrder()
{
if (!CanPlaceOrder || _selectedAddress is null)
diff --git a/src/FrontOffice.Main/Pages/Store/OrderDetail.razor b/src/FrontOffice.Main/Pages/Store/OrderDetail.razor
index abfd053..d94751d 100644
--- a/src/FrontOffice.Main/Pages/Store/OrderDetail.razor
+++ b/src/FrontOffice.Main/Pages/Store/OrderDetail.razor
@@ -112,30 +112,6 @@ else
}
-
- @* نمایش PV سفارش *@
- @if (_pvData != null && _pvData.TotalPv > 0)
- {
-
-
-
-
- امتیاز فروش (PV)
-
- @foreach (var product in _pvData.Products)
- {
-
- @product.ProductTitle × @product.Quantity
- @string.Format("{0:N0}", product.TotalPv) PV
-
- }
-
-
- جمع PV:
- @string.Format("{0:N0}", _pvData.TotalPv) PV
-
-
- }
diff --git a/src/FrontOffice.Main/Pages/Store/OrderDetail.razor.cs b/src/FrontOffice.Main/Pages/Store/OrderDetail.razor.cs
index a8ed6fa..ec8abbf 100644
--- a/src/FrontOffice.Main/Pages/Store/OrderDetail.razor.cs
+++ b/src/FrontOffice.Main/Pages/Store/OrderDetail.razor.cs
@@ -12,17 +12,12 @@ public partial class OrderDetail : ComponentBase
[Parameter] public long id { get; set; }
private GetUserOrderResponse? _order;
- private CalculateOrderPVResponse? _pvData;
private bool _loading;
protected override async Task OnParametersSetAsync()
{
_loading = true;
_order = await OrderService.GetOrderAsync(id);
- if (_order != null)
- {
- _pvData = await OrderService.CalculateOrderPVAsync(id);
- }
_loading = false;
}
@@ -52,4 +47,3 @@ public partial class OrderDetail : ComponentBase
private static string GetProductImageUrl(string? imageUrl)
=> string.IsNullOrWhiteSpace(imageUrl) ? "/images/product-placeholder.svg" : imageUrl.TrimStart('/');
}
-
diff --git a/src/FrontOffice.Main/Utilities/OrderService.cs b/src/FrontOffice.Main/Utilities/OrderService.cs
index 39d9cfb..5f3ca8f 100644
--- a/src/FrontOffice.Main/Utilities/OrderService.cs
+++ b/src/FrontOffice.Main/Utilities/OrderService.cs
@@ -97,22 +97,4 @@ public class OrderService
return 0.10;
}
}
-
- ///
- /// محاسبه PV سفارش
- ///
- public async Task CalculateOrderPVAsync(long orderId)
- {
- try
- {
- return await _userOrderContractClient.CalculateOrderPVAsync(new CalculateOrderPVRequest
- {
- OrderId = orderId
- });
- }
- catch
- {
- return null;
- }
- }
}
\ No newline at end of file