@using FrontOffice.Main.Utilities موجودی کیف پول اصلی کافی نیست @if (AllowChargeCredit) { @if (IsMagicWallet && !MagicCeilingFull) { برای تکمیل این سفارش موجودی شما کافی نیست. کیف پول شما در حالت جادویی است؛ برای دریافت ضریب، از مسیر شارژ جادویی اقدام کنید. } else if (IsMagicWallet && MagicCeilingFull) { سقف شارژ جادویی شما در این دور پر است. می‌توانید به‌صورت استثنایی کیف اصلی را بدون ضریب (۱:۱) شارژ کنید. } else { برای تکمیل این سفارش، موجودی اصلی شما کافی نیست. می‌توانید کیف پول را شارژ کنید و سپس سفارش را ثبت کنید. } } else { برای شارژ کیف پول اصلی ابتدا باید پکیج را خریداری کرده و قرارداد باشگاه مشتریان را امضا کنید. } موجودی فعلی: @FormatPrice(CurrentBalance) مبلغ سفارش: @FormatPrice(RequiredAmount) کمبود: @FormatPrice(ShortfallAmount) بستن @if (AllowChargeCredit) { @ChargeButtonLabel } else if (!HasPurchasedPackage) { مشاهده پکیج‌ها } else { امضای قرارداد باشگاه } @code { [CascadingParameter] private IMudDialogInstance MudDialog { get; set; } = default!; [Parameter] public long CurrentBalance { get; set; } [Parameter] public long RequiredAmount { get; set; } [Parameter] public long ShortfallAmount { get; set; } /// اگر false باشد، به صفحه شارژ هدایت نمی‌شود. [Parameter] public bool AllowChargeCredit { get; set; } = true; [Parameter] public bool HasPurchasedPackage { get; set; } [Parameter] public bool IsMagicWallet { get; set; } /// سقف واریز جادویی این دور پر شده است. [Parameter] public bool MagicCeilingFull { get; set; } private string ChargeButtonLabel => IsMagicWallet && !MagicCeilingFull ? "شارژ کیف جادویی" : IsMagicWallet && MagicCeilingFull ? "شارژ عادی بدون ضریب (سقف جادویی پر است)" : "شارژ حساب اصلی"; private void Cancel() => MudDialog.Cancel(); private void GoToCharge() { if (IsMagicWallet && !MagicCeilingFull) { MudDialog.Cancel(); Navigation.NavigateTo(RouteConstants.Profile.MagicWallet); return; } MudDialog.Close(DialogResult.Ok(ShortfallAmount)); } private void GoToPackages() { MudDialog.Cancel(); Navigation.NavigateTo(RouteConstants.Package.List); } private void GoToClubMembership() { MudDialog.Cancel(); Navigation.NavigateTo(RouteConstants.Club.Membership); } private static string FormatPrice(long price) => string.Format("{0:N0} تومان", price); }