Merge branch 'kub-stage' into production
Build and Deploy to Production / build-and-deploy (push) Successful in 6m29s

This commit is contained in:
masoodafar-web
2026-04-28 23:30:42 +03:30
4 changed files with 47 additions and 6 deletions
+1 -1
View File
@@ -138,7 +138,7 @@
<!-- CMS Protobuf NuGet package (used for both local dev and Docker builds) -->
<ItemGroup>
<PackageReference Include="Foursat.CMSMicroservice.Protobuf" Version="0.0.192" />
<PackageReference Include="Foursat.CMSMicroservice.Protobuf" Version="0.0.193" />
</ItemGroup>
<!-- ============================================================ -->
@@ -79,7 +79,7 @@
<!-- Week Selector -->
<MudPaper Class="pa-4 mt-4" Elevation="2">
<MudStack Row="true" AlignItems="AlignItems.Center" Spacing="3">
<MudStack Row="true" AlignItems="AlignItems.Center" Spacing="3" Wrap="Wrap.Wrap">
<MudText Typo="Typo.h6">انتخاب هفته:</MudText>
@if (_allWeeks.Any())
@@ -159,6 +159,10 @@
{
<MudText Color="Color.Warning">لیست هفته‌ها بارگذاری نشده</MudText>
}
<PackageSelect Label="پکیج"
SelectedPackageId="_selectedPackageId"
SelectedPackageIdChanged="OnPackageChanged" />
<MudButton Variant="Variant.Filled"
Color="Color.Primary"
@@ -180,6 +184,19 @@
<td><strong>شناسه استخر:</strong></td>
<td>@_poolData.Id</td>
</tr>
<tr>
<td><strong>پکیج:</strong></td>
<td>
@if (!string.IsNullOrEmpty(_poolData.PackageTitle))
{
<MudChip T="string" Size="Size.Small" Color="Color.Primary">@_poolData.PackageTitle</MudChip>
}
else
{
<MudText Color="Color.Secondary">-</MudText>
}
</td>
</tr>
<tr>
<td><strong>شماره هفته:</strong></td>
<td>@_currentWeekDisplayName</td>
@@ -22,6 +22,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<CMSMicroservice.Protobuf.Protos.Commission.WeekInfo> _allWeeks = new();
@@ -91,6 +94,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 +115,8 @@ public partial class Dashboard
var request = new GetWeeklyCommissionPoolRequest
{
WeekDefinitionId = _currentWeekDefinitionId
WeekDefinitionId = _currentWeekDefinitionId,
PackageId = _selectedPackageId
};
_poolData = await CommissionContract.GetWeeklyCommissionPoolAsync(request);
@@ -126,23 +136,31 @@ 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,
});
};
req.PackageId = _selectedPackageId;
await CommissionContract.TriggerWeeklyCalculationAsync(req);
Snackbar.Add("محاسبه با موفقیت آغاز شد. این عملیات ممکن است چند دقیقه طول بکشد.", Severity.Info);
// Reload data after a delay
+6
View File
@@ -0,0 +1,6 @@
{
"sdk": {
"version": "9.0.306",
"rollForward": "latestPatch"
}
}