Compare commits
7 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 6d8d681046 | |||
| b7d1fe13c7 | |||
| 67f57ce99f | |||
| c4cbe94ed7 | |||
| ed24f505d3 | |||
| 3c2a0edca8 | |||
| a8c52db544 |
@@ -138,7 +138,7 @@
|
|||||||
|
|
||||||
<!-- CMS Protobuf NuGet package (used for both local dev and Docker builds) -->
|
<!-- CMS Protobuf NuGet package (used for both local dev and Docker builds) -->
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="Foursat.CMSMicroservice.Protobuf" Version="0.0.192" />
|
<PackageReference Include="Foursat.CMSMicroservice.Protobuf" Version="0.0.193" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<!-- ============================================================ -->
|
<!-- ============================================================ -->
|
||||||
|
|||||||
@@ -79,7 +79,7 @@
|
|||||||
|
|
||||||
<!-- Week Selector -->
|
<!-- Week Selector -->
|
||||||
<MudPaper Class="pa-4 mt-4" Elevation="2">
|
<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>
|
<MudText Typo="Typo.h6">انتخاب هفته:</MudText>
|
||||||
|
|
||||||
@if (_allWeeks.Any())
|
@if (_allWeeks.Any())
|
||||||
@@ -160,6 +160,10 @@
|
|||||||
<MudText Color="Color.Warning">لیست هفتهها بارگذاری نشده</MudText>
|
<MudText Color="Color.Warning">لیست هفتهها بارگذاری نشده</MudText>
|
||||||
}
|
}
|
||||||
|
|
||||||
|
<PackageSelect Label="پکیج"
|
||||||
|
SelectedPackageId="_selectedPackageId"
|
||||||
|
SelectedPackageIdChanged="OnPackageChanged" />
|
||||||
|
|
||||||
<MudButton Variant="Variant.Filled"
|
<MudButton Variant="Variant.Filled"
|
||||||
Color="Color.Primary"
|
Color="Color.Primary"
|
||||||
OnClick="LoadPoolData"
|
OnClick="LoadPoolData"
|
||||||
@@ -180,6 +184,19 @@
|
|||||||
<td><strong>شناسه استخر:</strong></td>
|
<td><strong>شناسه استخر:</strong></td>
|
||||||
<td>@_poolData.Id</td>
|
<td>@_poolData.Id</td>
|
||||||
</tr>
|
</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>
|
<tr>
|
||||||
<td><strong>شماره هفته:</strong></td>
|
<td><strong>شماره هفته:</strong></td>
|
||||||
<td>@_currentWeekDisplayName</td>
|
<td>@_currentWeekDisplayName</td>
|
||||||
|
|||||||
@@ -22,6 +22,9 @@ public partial class Dashboard
|
|||||||
private string _currentWeekDisplayText = string.Empty; // نمایش فارسی
|
private string _currentWeekDisplayText = string.Empty; // نمایش فارسی
|
||||||
private GetWeeklyCommissionPoolResponse? _poolData;
|
private GetWeeklyCommissionPoolResponse? _poolData;
|
||||||
|
|
||||||
|
// Package filter
|
||||||
|
private long? _selectedPackageId;
|
||||||
|
|
||||||
// Available weeks data
|
// Available weeks data
|
||||||
private CMSMicroservice.Protobuf.Protos.Commission.GetAvailableWeeksResponse? _availableWeeks;
|
private CMSMicroservice.Protobuf.Protos.Commission.GetAvailableWeeksResponse? _availableWeeks;
|
||||||
private List<CMSMicroservice.Protobuf.Protos.Commission.WeekInfo> _allWeeks = new();
|
private List<CMSMicroservice.Protobuf.Protos.Commission.WeekInfo> _allWeeks = new();
|
||||||
@@ -91,6 +94,12 @@ public partial class Dashboard
|
|||||||
await LoadPoolData();
|
await LoadPoolData();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private async Task OnPackageChanged(long? packageId)
|
||||||
|
{
|
||||||
|
_selectedPackageId = packageId;
|
||||||
|
await LoadPoolData();
|
||||||
|
}
|
||||||
|
|
||||||
private async Task LoadPoolData()
|
private async Task LoadPoolData()
|
||||||
{
|
{
|
||||||
if (_currentWeekDefinitionId <= 0)
|
if (_currentWeekDefinitionId <= 0)
|
||||||
@@ -106,7 +115,8 @@ public partial class Dashboard
|
|||||||
|
|
||||||
var request = new GetWeeklyCommissionPoolRequest
|
var request = new GetWeeklyCommissionPoolRequest
|
||||||
{
|
{
|
||||||
WeekDefinitionId = _currentWeekDefinitionId
|
WeekDefinitionId = _currentWeekDefinitionId,
|
||||||
|
PackageId = _selectedPackageId
|
||||||
};
|
};
|
||||||
|
|
||||||
_poolData = await CommissionContract.GetWeeklyCommissionPoolAsync(request);
|
_poolData = await CommissionContract.GetWeeklyCommissionPoolAsync(request);
|
||||||
@@ -126,23 +136,31 @@ public partial class Dashboard
|
|||||||
|
|
||||||
private async Task TriggerCalculation()
|
private async Task TriggerCalculation()
|
||||||
{
|
{
|
||||||
|
var packageInfo = _selectedPackageId.HasValue
|
||||||
|
? $" (فقط پکیج #{_selectedPackageId})"
|
||||||
|
: " (همه پکیجها)";
|
||||||
|
|
||||||
var confirmed = await DialogService.ShowMessageBox(
|
var confirmed = await DialogService.ShowMessageBox(
|
||||||
"تایید",
|
"تایید",
|
||||||
$"آیا از اجرای محاسبه دستی برای هفته {_currentWeekDisplayName} مطمئن هستید؟",
|
$"آیا از اجرای محاسبه دستی برای هفته {_currentWeekDisplayName}{packageInfo} مطمئن هستید؟",
|
||||||
yesText: "بله", cancelText: "خیر");
|
yesText: "بله", cancelText: "خیر");
|
||||||
|
|
||||||
if (confirmed == true)
|
if (confirmed == true)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
await CommissionContract.TriggerWeeklyCalculationAsync(new TriggerWeeklyCalculationRequest()
|
var req = new TriggerWeeklyCalculationRequest()
|
||||||
{
|
{
|
||||||
WeekDefinitionId = _currentWeekDefinitionId,
|
WeekDefinitionId = _currentWeekDefinitionId,
|
||||||
ForceRecalculate = true,
|
ForceRecalculate = true,
|
||||||
SkipBalances = false,
|
SkipBalances = false,
|
||||||
SkipPayouts = false,
|
SkipPayouts = false,
|
||||||
SkipPool = false,
|
SkipPool = false,
|
||||||
});
|
};
|
||||||
|
|
||||||
|
req.PackageId = _selectedPackageId;
|
||||||
|
|
||||||
|
await CommissionContract.TriggerWeeklyCalculationAsync(req);
|
||||||
Snackbar.Add("محاسبه با موفقیت آغاز شد. این عملیات ممکن است چند دقیقه طول بکشد.", Severity.Info);
|
Snackbar.Add("محاسبه با موفقیت آغاز شد. این عملیات ممکن است چند دقیقه طول بکشد.", Severity.Info);
|
||||||
|
|
||||||
// Reload data after a delay
|
// Reload data after a delay
|
||||||
|
|||||||
@@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"sdk": {
|
||||||
|
"version": "9.0.306",
|
||||||
|
"rollForward": "latestPatch"
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user