diff --git a/src/FrontOffice.Main/FrontOffice.Main.csproj b/src/FrontOffice.Main/FrontOffice.Main.csproj index 0e2ce06..414aa55 100644 --- a/src/FrontOffice.Main/FrontOffice.Main.csproj +++ b/src/FrontOffice.Main/FrontOffice.Main.csproj @@ -11,8 +11,8 @@ - - + + diff --git a/src/FrontOffice.Main/Pages/Licenses.razor b/src/FrontOffice.Main/Pages/Licenses.razor index bef2351..658cec4 100644 --- a/src/FrontOffice.Main/Pages/Licenses.razor +++ b/src/FrontOffice.Main/Pages/Licenses.razor @@ -37,7 +37,7 @@ else @foreach (var license in _licenseImages) { - + diff --git a/src/FrontOffice.Main/Pages/Profile/Index.razor b/src/FrontOffice.Main/Pages/Profile/Index.razor index 0a0761b..5a8606b 100644 --- a/src/FrontOffice.Main/Pages/Profile/Index.razor +++ b/src/FrontOffice.Main/Pages/Profile/Index.razor @@ -214,26 +214,45 @@ پرداخت مستقیم پرداخت آنی از طریق درگاه بانکی - - پرداخت با کارت بانکی(بزودی) - + @if (_purchaseCycleCount > 0) + { + + پرداخت با کارت بانکی + + } + else + { + + پرداخت با کارت بانکی(بزودی) + + } - - - - - اعتبار الماسی دایا + @if (_purchaseCycleCount == 0) + { + + + + + اعتبار الماسی دایا + + تأمین اعتبار از طریق خرید توکن الماس و دریافت وام + + تأمین اعتبار الماسی + - تأمین اعتبار از طریق خرید توکن الماس و دریافت وام - - تأمین اعتبار الماسی - - - + + } + else + { + + از دور دوم به بعد، خرید پکیج فقط از طریق درگاه بانکی امکان‌پذیر است. + + } بستن diff --git a/src/FrontOffice.Main/Pages/Profile/Index.razor.cs b/src/FrontOffice.Main/Pages/Profile/Index.razor.cs index 2b47695..f64e0d5 100644 --- a/src/FrontOffice.Main/Pages/Profile/Index.razor.cs +++ b/src/FrontOffice.Main/Pages/Profile/Index.razor.cs @@ -45,6 +45,7 @@ public partial class Index // Purchase Options Bottom Sheet private bool _showPurchaseBottomSheet; private bool _isProcessingPayment; + private int _purchaseCycleCount; // تعداد دورهای خرید — اگر > 0 فقط IPG مجاز // Dashboard Tiles private readonly List _dashTiles = new() @@ -148,6 +149,11 @@ public partial class Index var discount = FormatPrice(b.DiscountBalance); _walletNetwork = FormatPrice(b.NetworkBalance); _walletDiscount = discount; + + // بارگذاری تعداد دورهای خرید برای کنترل روش‌های پرداخت + var magicStatus = await WalletService.GetMagicWalletStatusAsync(); + _purchaseCycleCount = magicStatus.PurchaseCycleCount; + StateHasChanged(); } diff --git a/src/FrontOffice.Main/Pages/Profile/MagicWallet.razor.cs b/src/FrontOffice.Main/Pages/Profile/MagicWallet.razor.cs index d5bf1d8..1b26077 100644 --- a/src/FrontOffice.Main/Pages/Profile/MagicWallet.razor.cs +++ b/src/FrontOffice.Main/Pages/Profile/MagicWallet.razor.cs @@ -7,7 +7,7 @@ namespace FrontOffice.Main.Pages.Profile; public partial class MagicWallet : ComponentBase { - private MagicWalletStatus _status = new(0, 0, 0, 0, 0, 0, null); + private MagicWalletStatus _status = new(0, 0, 0, 0, 0, 0, null, 0); private bool _isLoading = true; private bool _isProcessing; private long _chargeAmount; diff --git a/src/FrontOffice.Main/Utilities/WalletService.cs b/src/FrontOffice.Main/Utilities/WalletService.cs index ea77c60..9d21f05 100644 --- a/src/FrontOffice.Main/Utilities/WalletService.cs +++ b/src/FrontOffice.Main/Utilities/WalletService.cs @@ -32,7 +32,8 @@ public record MagicWalletStatus( long MagicMaxDeposit, long MagicRemainingDeposit, long Balance, - DateTime? MagicActivatedAt + DateTime? MagicActivatedAt, + int PurchaseCycleCount ); public class WalletService @@ -212,12 +213,13 @@ public class WalletService response.MagicMaxDeposit, response.MagicRemainingDeposit, response.Balance, - activatedAt + activatedAt, + response.PurchaseCycleCount ); } catch { - return new MagicWalletStatus(0, 0, 0, 0, 0, 0, null); + return new MagicWalletStatus(0, 0, 0, 0, 0, 0, null, 0); } }