Merge branch 'kub-stage' into production
Build and Deploy to Production / build-and-deploy (push) Successful in 6m24s
Build and Deploy to Production / build-and-deploy (push) Successful in 6m24s
This commit is contained in:
@@ -35,6 +35,40 @@
|
||||
</MudAlert>
|
||||
}
|
||||
|
||||
@if (_authLoaded && !_isClubMemberActive)
|
||||
{
|
||||
<MudAlert Severity="MudBlazor.Severity.Warning" Class="rounded-lg" Variant="Variant.Outlined">
|
||||
<MudStack Spacing="2">
|
||||
<MudText>
|
||||
برای شارژ کیف پول اصلی ابتدا باید پکیج را خریداری کرده و قرارداد باشگاه مشتریان را امضا کنید.
|
||||
</MudText>
|
||||
<MudStack Row="true" Spacing="1" Class="flex-wrap">
|
||||
@if (!_hasPurchasedPackage)
|
||||
{
|
||||
<MudButton Size="Size.Small" Variant="Variant.Filled" Color="Color.Primary"
|
||||
Href="@RouteConstants.Package.List"
|
||||
StartIcon="@Icons.Material.Filled.CardGiftcard">
|
||||
مشاهده پکیجها
|
||||
</MudButton>
|
||||
}
|
||||
else
|
||||
{
|
||||
<MudButton Size="Size.Small" Variant="Variant.Filled" Color="Color.Primary"
|
||||
Href="@RouteConstants.Club.Membership"
|
||||
StartIcon="@Icons.Material.Filled.Handshake">
|
||||
امضای قرارداد باشگاه
|
||||
</MudButton>
|
||||
}
|
||||
<MudButton Size="Size.Small" Variant="Variant.Text"
|
||||
Href="@RouteConstants.Profile.Wallet">
|
||||
بازگشت به کیف پول
|
||||
</MudButton>
|
||||
</MudStack>
|
||||
</MudStack>
|
||||
</MudAlert>
|
||||
}
|
||||
else if (_authLoaded)
|
||||
{
|
||||
<MudPaper Elevation="2" Class="pa-5 rounded-lg">
|
||||
<MudText Typo="Typo.h6" Class="mb-3">
|
||||
<MudIcon Icon="@Icons.Material.Filled.AccountBalanceWallet" Class="ml-1" />
|
||||
@@ -122,5 +156,6 @@
|
||||
</MudList>
|
||||
</MudExpansionPanel>
|
||||
</MudExpansionPanels>
|
||||
}
|
||||
</MudStack>
|
||||
</MudContainer>
|
||||
|
||||
@@ -7,10 +7,15 @@ namespace FrontOffice.Main.Pages.Profile;
|
||||
|
||||
public partial class ChargeCreditWallet : ComponentBase
|
||||
{
|
||||
[Inject] private AuthService AuthService { get; set; } = default!;
|
||||
|
||||
private bool _isProcessing;
|
||||
private long _chargeAmount;
|
||||
private string? _paymentResult;
|
||||
private string? _pendingReturnUrl;
|
||||
private bool _isClubMemberActive;
|
||||
private bool _hasPurchasedPackage;
|
||||
private bool _authLoaded;
|
||||
|
||||
private readonly long[] _presetAmounts = { 500_000, 1_000_000, 5_000_000, 10_000_000, 20_000_000, 50_000_000 };
|
||||
|
||||
@@ -23,7 +28,7 @@ public partial class ChargeCreditWallet : ComponentBase
|
||||
[SupplyParameterFromQuery(Name = "returnUrl")]
|
||||
public string? ReturnUrlQueryParam { get; set; }
|
||||
|
||||
protected override void OnInitialized()
|
||||
protected override async Task OnInitializedAsync()
|
||||
{
|
||||
_paymentResult = PaymentQueryParam;
|
||||
|
||||
@@ -32,11 +37,27 @@ public partial class ChargeCreditWallet : ComponentBase
|
||||
|
||||
if (CreditChargeNavigation.IsValidReturnUrl(ReturnUrlQueryParam))
|
||||
_pendingReturnUrl = ReturnUrlQueryParam;
|
||||
|
||||
try
|
||||
{
|
||||
var userInfo = await AuthService.GetUserAuthInfo();
|
||||
_isClubMemberActive = userInfo.IsClubMemberActive;
|
||||
_hasPurchasedPackage = userInfo.HasPurchasedPackage;
|
||||
}
|
||||
catch
|
||||
{
|
||||
_isClubMemberActive = false;
|
||||
_hasPurchasedPackage = false;
|
||||
}
|
||||
finally
|
||||
{
|
||||
_authLoaded = true;
|
||||
}
|
||||
}
|
||||
|
||||
protected override async Task OnAfterRenderAsync(bool firstRender)
|
||||
{
|
||||
if (firstRender && !string.IsNullOrEmpty(_pendingReturnUrl))
|
||||
if (firstRender && !string.IsNullOrEmpty(_pendingReturnUrl) && _isClubMemberActive)
|
||||
{
|
||||
await CreditChargeNavigation.SaveReturnUrlAsync(JSRuntime, _pendingReturnUrl);
|
||||
}
|
||||
@@ -46,6 +67,14 @@ public partial class ChargeCreditWallet : ComponentBase
|
||||
|
||||
private async Task StartCreditCharge()
|
||||
{
|
||||
if (!_isClubMemberActive)
|
||||
{
|
||||
Snackbar.Add(
|
||||
"برای شارژ کیف پول اصلی ابتدا باید پکیج را خریداری کرده و قرارداد باشگاه مشتریان را امضا کنید.",
|
||||
Severity.Warning);
|
||||
return;
|
||||
}
|
||||
|
||||
if (_chargeAmount <= 0 || _isProcessing) return;
|
||||
|
||||
_isProcessing = true;
|
||||
|
||||
@@ -39,15 +39,55 @@
|
||||
</MudButton>
|
||||
|
||||
<!-- دکمه شارژ کیفپول اصلی -->
|
||||
<MudButton Variant="Variant.Filled"
|
||||
Color="Color.Primary"
|
||||
Size="Size.Large"
|
||||
FullWidth="true"
|
||||
StartIcon="@Icons.Material.Filled.AccountBalanceWallet"
|
||||
Href="@RouteConstants.Profile.ChargeCreditWallet"
|
||||
Class="rounded-lg">
|
||||
شارژ کیفپول اصلی
|
||||
</MudButton>
|
||||
@if (_isClubMemberActive)
|
||||
{
|
||||
<MudButton Variant="Variant.Filled"
|
||||
Color="Color.Primary"
|
||||
Size="Size.Large"
|
||||
FullWidth="true"
|
||||
StartIcon="@Icons.Material.Filled.AccountBalanceWallet"
|
||||
Href="@RouteConstants.Profile.ChargeCreditWallet"
|
||||
Class="rounded-lg">
|
||||
شارژ کیفپول اصلی
|
||||
</MudButton>
|
||||
}
|
||||
else
|
||||
{
|
||||
<MudPaper Elevation="0" Class="pa-3 rounded-lg" Outlined="true">
|
||||
<MudStack Spacing="2">
|
||||
<MudButton Variant="Variant.Filled"
|
||||
Color="Color.Primary"
|
||||
Size="Size.Large"
|
||||
FullWidth="true"
|
||||
StartIcon="@Icons.Material.Filled.AccountBalanceWallet"
|
||||
Disabled="true"
|
||||
Class="rounded-lg">
|
||||
شارژ کیفپول اصلی
|
||||
</MudButton>
|
||||
<MudAlert Severity="Severity.Warning" Dense="true" Variant="Variant.Outlined">
|
||||
برای شارژ کیف پول اصلی ابتدا باید پکیج را خریداری کرده و قرارداد باشگاه مشتریان را امضا کنید.
|
||||
</MudAlert>
|
||||
<MudStack Row="true" Spacing="1" Class="flex-wrap">
|
||||
@if (!_hasPurchasedPackage)
|
||||
{
|
||||
<MudButton Size="Size.Small" Variant="Variant.Outlined" Color="Color.Primary"
|
||||
Href="@RouteConstants.Package.List"
|
||||
StartIcon="@Icons.Material.Filled.CardGiftcard">
|
||||
مشاهده پکیجها
|
||||
</MudButton>
|
||||
}
|
||||
else
|
||||
{
|
||||
<MudButton Size="Size.Small" Variant="Variant.Outlined" Color="Color.Primary"
|
||||
Href="@RouteConstants.Club.Membership"
|
||||
StartIcon="@Icons.Material.Filled.Handshake">
|
||||
امضای قرارداد باشگاه
|
||||
</MudButton>
|
||||
}
|
||||
</MudStack>
|
||||
</MudStack>
|
||||
</MudPaper>
|
||||
}
|
||||
|
||||
<!-- دکمه شارژ کیفپول اعتباری -->
|
||||
<MudButton Variant="Variant.Filled"
|
||||
|
||||
@@ -6,13 +6,29 @@ namespace FrontOffice.Main.Pages.Profile;
|
||||
|
||||
public partial class Wallet : ComponentBase
|
||||
{
|
||||
[Inject] private AuthService AuthService { get; set; } = default!;
|
||||
|
||||
private (string Credit, string Discount, string Network) _balances = ("-", "-", "-");
|
||||
private List<WalletTransaction> _txs = new();
|
||||
private string? _filterReferenceId;
|
||||
private string _filterType = "all";
|
||||
private bool _isClubMemberActive;
|
||||
private bool _hasPurchasedPackage;
|
||||
|
||||
protected override async Task OnInitializedAsync()
|
||||
{
|
||||
try
|
||||
{
|
||||
var userInfo = await AuthService.GetUserAuthInfo();
|
||||
_isClubMemberActive = userInfo.IsClubMemberActive;
|
||||
_hasPurchasedPackage = userInfo.HasPurchasedPackage;
|
||||
}
|
||||
catch
|
||||
{
|
||||
_isClubMemberActive = false;
|
||||
_hasPurchasedPackage = false;
|
||||
}
|
||||
|
||||
var b = await WalletService.GetBalancesAsync();
|
||||
_balances = (FormatPrice(b.CreditBalance), FormatPrice(b.DiscountBalance), FormatPrice(b.NetworkBalance));
|
||||
_txs = await WalletService.GetTransactionsAsync();
|
||||
|
||||
Reference in New Issue
Block a user