From a8c52db544b4d4d99d2a9b704c87662f0a300916 Mon Sep 17 00:00:00 2001 From: masoodafar-web Date: Sun, 15 Mar 2026 11:58:37 +0330 Subject: [PATCH 1/6] fix: resolve MudBlazor v8 breaking changes (MUD0002 warnings) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - MudListItem: Selected → Class with conditional CSS - MudTextField: Dense → Margin="Margin.Dense" - MudSwitch: remove HelperText (merged into Label) - MudDatePicker: remove T parameter (no longer generic in v8) --- .../Pages/DiscountShop/Components/OrderDetailsDialog.razor | 4 ++-- .../Pages/DiscountShop/DiscountCategoriesMainPage.razor | 4 ++-- .../Pages/DiscountShop/DiscountOrdersMainPage.razor | 4 ++-- src/BackOffice/Pages/SystemManagement/Configuration.razor | 6 ++---- src/BackOffice/Pages/UserOrder/UserOrderMainPage.razor | 4 ++-- 5 files changed, 10 insertions(+), 12 deletions(-) diff --git a/src/BackOffice/Pages/DiscountShop/Components/OrderDetailsDialog.razor b/src/BackOffice/Pages/DiscountShop/Components/OrderDetailsDialog.razor index 036b8b0..44a8fd5 100644 --- a/src/BackOffice/Pages/DiscountShop/Components/OrderDetailsDialog.razor +++ b/src/BackOffice/Pages/DiscountShop/Components/OrderDetailsDialog.razor @@ -197,14 +197,14 @@ diff --git a/src/BackOffice/Pages/DiscountShop/DiscountCategoriesMainPage.razor b/src/BackOffice/Pages/DiscountShop/DiscountCategoriesMainPage.razor index 600a155..f40df48 100644 --- a/src/BackOffice/Pages/DiscountShop/DiscountCategoriesMainPage.razor +++ b/src/BackOffice/Pages/DiscountShop/DiscountCategoriesMainPage.razor @@ -20,14 +20,14 @@ + Class="@(_selectedParentId == null ? "mud-selected-item" : "")"> همه دسته‌بندی‌ها @foreach (var node in _treeNodes) { + Class="@(_selectedParentId == node.Id ? "mud-selected-item" : "")">
@node.Title diff --git a/src/BackOffice/Pages/DiscountShop/DiscountOrdersMainPage.razor b/src/BackOffice/Pages/DiscountShop/DiscountOrdersMainPage.razor index da8c2f7..dafd690 100644 --- a/src/BackOffice/Pages/DiscountShop/DiscountOrdersMainPage.razor +++ b/src/BackOffice/Pages/DiscountShop/DiscountOrdersMainPage.razor @@ -23,11 +23,11 @@ @bind-Value="@_trackingCodeFilter" Variant="Variant.Outlined" Margin="Margin.Dense"/>
- - diff --git a/src/BackOffice/Pages/SystemManagement/Configuration.razor b/src/BackOffice/Pages/SystemManagement/Configuration.razor index 70dc54e..8b9d901 100644 --- a/src/BackOffice/Pages/SystemManagement/Configuration.razor +++ b/src/BackOffice/Pages/SystemManagement/Configuration.razor @@ -174,8 +174,7 @@ + Label="Spillover فعال باشد — اعضای اضافی به پایین درخت منتقل شوند" /> @@ -340,8 +339,7 @@ + Label="حالت تعمیر و نگهداری — غیرفعال کردن موقت سیستم برای به‌روزرسانی" /> diff --git a/src/BackOffice/Pages/UserOrder/UserOrderMainPage.razor b/src/BackOffice/Pages/UserOrder/UserOrderMainPage.razor index f599c38..306569c 100644 --- a/src/BackOffice/Pages/UserOrder/UserOrderMainPage.razor +++ b/src/BackOffice/Pages/UserOrder/UserOrderMainPage.razor @@ -27,11 +27,11 @@ @bind-Value="@_request.Filter.Amount" Variant="Variant.Outlined" Margin="Margin.Dense"/> - - From 3c2a0edca88cbff695db6ae63be2509288c63a7e Mon Sep 17 00:00:00 2001 From: masoodafar-web Date: Fri, 24 Apr 2026 03:43:26 +0330 Subject: [PATCH 2/6] feat(commission/dashboard): add package selector for per-package calculation - Dashboard: added PackageSelect component to filter/trigger calculation per package - LoadPoolData: now sends PackageId in GetWeeklyCommissionPoolRequest - TriggerCalculation: now sends PackageId in TriggerWeeklyCalculationRequest - Pool Details: shows PackageTitle in table --- .../Pages/Commission/Dashboard.razor | 19 ++++++++++++- .../Pages/Commission/Dashboard.razor.cs | 28 ++++++++++++++++--- 2 files changed, 42 insertions(+), 5 deletions(-) diff --git a/src/BackOffice/Pages/Commission/Dashboard.razor b/src/BackOffice/Pages/Commission/Dashboard.razor index f1f446b..74096d2 100644 --- a/src/BackOffice/Pages/Commission/Dashboard.razor +++ b/src/BackOffice/Pages/Commission/Dashboard.razor @@ -79,7 +79,7 @@ - + انتخاب هفته: @if (_allWeeks.Any()) @@ -159,6 +159,10 @@ { لیست هفته‌ها بارگذاری نشده } + + شناسه استخر: @_poolData.Id + + پکیج: + + @if (!string.IsNullOrEmpty(_poolData.PackageTitle)) + { + @_poolData.PackageTitle + } + else + { + - + } + + شماره هفته: @_currentWeekDisplayName diff --git a/src/BackOffice/Pages/Commission/Dashboard.razor.cs b/src/BackOffice/Pages/Commission/Dashboard.razor.cs index 1e667eb..4d753b3 100644 --- a/src/BackOffice/Pages/Commission/Dashboard.razor.cs +++ b/src/BackOffice/Pages/Commission/Dashboard.razor.cs @@ -3,6 +3,7 @@ using MudBlazor; using System.Globalization; using CMSMicroservice.Protobuf.Protos.Commission; using BackOffice.Services; +using Google.Protobuf.WellKnownTypes; namespace BackOffice.Pages.Commission; @@ -22,6 +23,9 @@ public partial class Dashboard private string _currentWeekDisplayText = string.Empty; // نمایش فارسی private GetWeeklyCommissionPoolResponse? _poolData; + // Package filter + private long? _selectedPackageId; + // Available weeks data private CMSMicroservice.Protobuf.Protos.Commission.GetAvailableWeeksResponse? _availableWeeks; private List _allWeeks = new(); @@ -91,6 +95,12 @@ public partial class Dashboard await LoadPoolData(); } + private async Task OnPackageChanged(long? packageId) + { + _selectedPackageId = packageId; + await LoadPoolData(); + } + private async Task LoadPoolData() { if (_currentWeekDefinitionId <= 0) @@ -106,7 +116,8 @@ public partial class Dashboard var request = new GetWeeklyCommissionPoolRequest { - WeekDefinitionId = _currentWeekDefinitionId + WeekDefinitionId = _currentWeekDefinitionId, + PackageId = _selectedPackageId.HasValue ? Int64Value.FromLong(_selectedPackageId.Value) : null }; _poolData = await CommissionContract.GetWeeklyCommissionPoolAsync(request); @@ -126,23 +137,32 @@ public partial class Dashboard private async Task TriggerCalculation() { + var packageInfo = _selectedPackageId.HasValue + ? $" (فقط پکیج #{_selectedPackageId})" + : " (همه پکیج‌ها)"; + var confirmed = await DialogService.ShowMessageBox( "تایید", - $"آیا از اجرای محاسبه دستی برای هفته {_currentWeekDisplayName} مطمئن هستید؟", + $"آیا از اجرای محاسبه دستی برای هفته {_currentWeekDisplayName}{packageInfo} مطمئن هستید؟", yesText: "بله", cancelText: "خیر"); if (confirmed == true) { try { - await CommissionContract.TriggerWeeklyCalculationAsync(new TriggerWeeklyCalculationRequest() + var req = new TriggerWeeklyCalculationRequest() { WeekDefinitionId = _currentWeekDefinitionId, ForceRecalculate = true, SkipBalances = false, SkipPayouts = false, SkipPool = false, - }); + }; + + if (_selectedPackageId.HasValue) + req.PackageId = Int64Value.FromLong(_selectedPackageId.Value); + + await CommissionContract.TriggerWeeklyCalculationAsync(req); Snackbar.Add("محاسبه با موفقیت آغاز شد. این عملیات ممکن است چند دقیقه طول بکشد.", Severity.Info); // Reload data after a delay From ed24f505d32cefb292b4119a4bcd16c797414af3 Mon Sep 17 00:00:00 2001 From: masoodafar-web Date: Fri, 24 Apr 2026 04:20:25 +0330 Subject: [PATCH 3/6] chore(proto): update CMSMicroservice.Protobuf to 0.0.193 --- src/BackOffice/BackOffice.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/BackOffice/BackOffice.csproj b/src/BackOffice/BackOffice.csproj index f626858..1eb7033 100644 --- a/src/BackOffice/BackOffice.csproj +++ b/src/BackOffice/BackOffice.csproj @@ -138,7 +138,7 @@ - + From c4cbe94ed7296285b35d44949a4f3ff2062aedef Mon Sep 17 00:00:00 2001 From: masoodafar-web Date: Fri, 24 Apr 2026 05:20:31 +0330 Subject: [PATCH 4/6] fix(commission/dashboard): fix Int64Value construction - use constructor instead of non-existent FromLong --- src/BackOffice/Pages/Commission/Dashboard.razor.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/BackOffice/Pages/Commission/Dashboard.razor.cs b/src/BackOffice/Pages/Commission/Dashboard.razor.cs index 4d753b3..f1d4847 100644 --- a/src/BackOffice/Pages/Commission/Dashboard.razor.cs +++ b/src/BackOffice/Pages/Commission/Dashboard.razor.cs @@ -117,7 +117,7 @@ public partial class Dashboard var request = new GetWeeklyCommissionPoolRequest { WeekDefinitionId = _currentWeekDefinitionId, - PackageId = _selectedPackageId.HasValue ? Int64Value.FromLong(_selectedPackageId.Value) : null + PackageId = _selectedPackageId.HasValue ? new Int64Value { Value = _selectedPackageId.Value } : null }; _poolData = await CommissionContract.GetWeeklyCommissionPoolAsync(request); @@ -160,7 +160,7 @@ public partial class Dashboard }; if (_selectedPackageId.HasValue) - req.PackageId = Int64Value.FromLong(_selectedPackageId.Value); + req.PackageId = new Int64Value { Value = _selectedPackageId.Value }; await CommissionContract.TriggerWeeklyCalculationAsync(req); Snackbar.Add("محاسبه با موفقیت آغاز شد. این عملیات ممکن است چند دقیقه طول بکشد.", Severity.Info); From 67f57ce99f52663d9b2a024654ec395fc41cdbae Mon Sep 17 00:00:00 2001 From: masoodafar-web Date: Fri, 24 Apr 2026 16:39:22 +0330 Subject: [PATCH 5/6] fix(commission/dashboard): fix TriggerWeeklyCalculationRequest.PackageId assignment - use long? directly --- src/BackOffice/Pages/Commission/Dashboard.razor.cs | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/BackOffice/Pages/Commission/Dashboard.razor.cs b/src/BackOffice/Pages/Commission/Dashboard.razor.cs index f1d4847..a47929c 100644 --- a/src/BackOffice/Pages/Commission/Dashboard.razor.cs +++ b/src/BackOffice/Pages/Commission/Dashboard.razor.cs @@ -159,8 +159,7 @@ public partial class Dashboard SkipPool = false, }; - if (_selectedPackageId.HasValue) - req.PackageId = new Int64Value { Value = _selectedPackageId.Value }; + req.PackageId = _selectedPackageId; await CommissionContract.TriggerWeeklyCalculationAsync(req); Snackbar.Add("محاسبه با موفقیت آغاز شد. این عملیات ممکن است چند دقیقه طول بکشد.", Severity.Info); From b7d1fe13c717deccfa441b492845a65e4bbe06dd Mon Sep 17 00:00:00 2001 From: masoodafar-web Date: Fri, 24 Apr 2026 16:56:11 +0330 Subject: [PATCH 6/6] fix(commission/dashboard): fix PackageId type - use long? directly, add global.json for SDK 9.0 --- src/BackOffice/Pages/Commission/Dashboard.razor.cs | 3 +-- src/global.json | 6 ++++++ 2 files changed, 7 insertions(+), 2 deletions(-) create mode 100644 src/global.json diff --git a/src/BackOffice/Pages/Commission/Dashboard.razor.cs b/src/BackOffice/Pages/Commission/Dashboard.razor.cs index a47929c..39a39aa 100644 --- a/src/BackOffice/Pages/Commission/Dashboard.razor.cs +++ b/src/BackOffice/Pages/Commission/Dashboard.razor.cs @@ -3,7 +3,6 @@ using MudBlazor; using System.Globalization; using CMSMicroservice.Protobuf.Protos.Commission; using BackOffice.Services; -using Google.Protobuf.WellKnownTypes; namespace BackOffice.Pages.Commission; @@ -117,7 +116,7 @@ public partial class Dashboard var request = new GetWeeklyCommissionPoolRequest { WeekDefinitionId = _currentWeekDefinitionId, - PackageId = _selectedPackageId.HasValue ? new Int64Value { Value = _selectedPackageId.Value } : null + PackageId = _selectedPackageId }; _poolData = await CommissionContract.GetWeeklyCommissionPoolAsync(request); diff --git a/src/global.json b/src/global.json new file mode 100644 index 0000000..359863b --- /dev/null +++ b/src/global.json @@ -0,0 +1,6 @@ +{ + "sdk": { + "version": "9.0.306", + "rollForward": "latestPatch" + } +}