Files
BackOffice/src/BackOffice/Pages/Club/Components/DeactivateClubDialog.razor
masoodafar-web 2fc7733c84
All checks were successful
Build and Deploy / build (push) Successful in 2m39s
feat: Add network tree visualization and Persian date service
2025-12-12 07:54:05 +03:30

88 lines
3.0 KiB
Plaintext

@using Foursat.BackOffice.BFF.ClubMembership.Protos
<MudDialog>
<DialogContent>
<MudStack Spacing="3">
<MudAlert Severity="Severity.Warning" Dense="true">
<MudText Typo="Typo.body1">
<strong>آیا از غیرفعال کردن عضویت باشگاه کاربر "@UserName" مطمئن هستید؟</strong>
</MudText>
</MudAlert>
<MudText Typo="Typo.body2">
این عمل باعث می‌شود:
</MudText>
<MudList T="string" Dense="true">
<MudListItem T="string" Icon="@Icons.Material.Filled.Block">
کاربر دیگر به مزایای باشگاه دسترسی نخواهد داشت
</MudListItem>
<MudListItem T="string" Icon="@Icons.Material.Filled.Warning">
Commission های جاری تا پایان هفته ادامه خواهد یافت
</MudListItem>
</MudList>
<MudTextField @bind-Value="_reason"
Label="دلیل غیرفعال‌سازی"
Lines="3"
Variant="Variant.Outlined"
Placeholder="دلیل خود را وارد کنید..." />
</MudStack>
</DialogContent>
<DialogActions>
<MudButton OnClick="Cancel">لغو</MudButton>
<MudButton Color="Color.Error"
Variant="Variant.Filled"
OnClick="Submit"
Disabled="_isSubmitting">
@if (_isSubmitting)
{
<MudProgressCircular Size="Size.Small" Indeterminate="true" />
<MudText Class="ms-2">در حال پردازش...</MudText>
}
else
{
<text>غیرفعال کردن</text>
}
</MudButton>
</DialogActions>
</MudDialog>
@code {
[CascadingParameter] IMudDialogInstance MudDialog { get; set; }
[Inject] public ClubMembershipContract.ClubMembershipContractClient ClubContract { get; set; }
[Parameter] public long UserId { get; set; }
[Parameter] public string UserName { get; set; }
private string _reason;
private bool _isSubmitting;
private void Cancel() => MudDialog.Cancel();
private async Task Submit()
{
_isSubmitting = true;
try
{
var request = new DeactivateClubMembershipRequest
{
UserId = UserId,
Reason = _reason ?? string.Empty
};
var response = await ClubContract.DeactivateClubMembershipAsync(request);
Snackbar.Add("عضویت با موفقیت غیرفعال شد", Severity.Success);
MudDialog.Close(DialogResult.Ok(true));
}
catch (Exception ex)
{
Snackbar.Add($"خطا: {ex.Message}", Severity.Error);
}
finally
{
_isSubmitting = false;
}
}
}