Merge branch 'kub-stage' into production
Build and Deploy to Production / build-and-deploy (push) Successful in 5m9s
Build and Deploy to Production / build-and-deploy (push) Successful in 5m9s
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
using CMSMicroservice.Protobuf.Protos.UserAddress;
|
||||
using FrontOffice.Main.Utilities;
|
||||
using CMSMicroservice.Protobuf.Protos.UserAddress;
|
||||
using FrontOffice.Main.Pages.Profile.Components;
|
||||
using Microsoft.AspNetCore.Components;
|
||||
@@ -9,6 +9,7 @@ namespace FrontOffice.Main.Pages.Profile;
|
||||
public partial class Addresses : ComponentBase
|
||||
{
|
||||
[Inject] private UserAddressContract.UserAddressContractClient UserAddressContract { get; set; } = default!;
|
||||
[Inject] private AuthService AuthService { get; set; } = default!;
|
||||
|
||||
private List<CustomerAddressModel> _addresses = new();
|
||||
private bool _isLoadingAddresses;
|
||||
@@ -42,7 +43,10 @@ public partial class Addresses : ComponentBase
|
||||
var dialog = await DialogService.ShowAsync<AddAddressDialog>("افزودن آدرس جدید");
|
||||
var result = await dialog.Result;
|
||||
if (result is not null && !result.Canceled)
|
||||
{
|
||||
await LoadAddresses();
|
||||
await AuthService.RefreshTokenAsync();
|
||||
}
|
||||
}
|
||||
|
||||
private async Task OpenEditAddressDialog(CustomerAddressModel address)
|
||||
@@ -80,6 +84,7 @@ public partial class Addresses : ComponentBase
|
||||
await UserAddressContract.DeleteCustomerAddressAsync(new() { Id = id });
|
||||
Snackbar.Add("آدرس حذف شد.", Severity.Success);
|
||||
await LoadAddresses();
|
||||
await AuthService.RefreshTokenAsync();
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
||||
@@ -333,6 +333,7 @@ public partial class Index
|
||||
if (!result.Canceled)
|
||||
{
|
||||
await LoadAddresses();
|
||||
await AuthService.RefreshTokenAsync();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -385,6 +386,7 @@ public partial class Index
|
||||
});
|
||||
Snackbar.Add("آدرس با موفقیت حذف شد.", Severity.Success);
|
||||
await LoadAddresses();
|
||||
await AuthService.RefreshTokenAsync();
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
@@ -491,11 +493,6 @@ public partial class Index
|
||||
Snackbar.Add("لطفا اطلاعات شخصی خود را تکمیل کنید. (تاریخ تولد وارد نشده)", Severity.Error);
|
||||
return;
|
||||
}
|
||||
if (!_addresses.Any())
|
||||
{
|
||||
Snackbar.Add("آدرس محل سکونت شما الزامی است!", Severity.Error);
|
||||
return;
|
||||
}
|
||||
|
||||
var url = "https://dayadiamond.ir/profile/creditpurchase/?merchantcode=56146364";
|
||||
await JSRuntime.InvokeVoidAsync("open", url, "_blank");
|
||||
|
||||
@@ -58,8 +58,19 @@ public partial class WithdrawalRequests : ComponentBase
|
||||
try
|
||||
{
|
||||
_isSubmittingWithdrawal = true;
|
||||
_withdrawIban=_withdrawIban!.Trim().ToUpper().Replace("IR", "").Replace(" ", "");
|
||||
await WalletService.RequestWithdrawalAsync(_selectedPayout.Id, _withdrawMethod, "IR"+_withdrawIban);
|
||||
|
||||
string? normalizedIban = null;
|
||||
if (_withdrawMethod == WithdrawalMethodClient.Cash)
|
||||
{
|
||||
normalizedIban = NormalizeIranianIban(_withdrawIban);
|
||||
if (normalizedIban is null)
|
||||
{
|
||||
Snackbar.Add("فرمت شماره شبا معتبر نیست. باید IR و ۲۴ رقم باشد (خط تیره اختیاری است).", Severity.Warning);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
await WalletService.RequestWithdrawalAsync(_selectedPayout.Id, _withdrawMethod, normalizedIban);
|
||||
Snackbar.Add("درخواست برداشت ثبت شد.", Severity.Success);
|
||||
|
||||
// بروزرسانی لیست
|
||||
@@ -125,4 +136,26 @@ public partial class WithdrawalRequests : ComponentBase
|
||||
1 => "الماس",
|
||||
_ => "-"
|
||||
};
|
||||
|
||||
/// <summary>
|
||||
/// فاصله و خط تیره را حذف میکند و شبا را به شکل IR + ۲۴ رقم برمیگرداند.
|
||||
/// </summary>
|
||||
private static string? NormalizeIranianIban(string? iban)
|
||||
{
|
||||
if (string.IsNullOrWhiteSpace(iban))
|
||||
return null;
|
||||
|
||||
var normalized = iban.Trim().ToUpperInvariant()
|
||||
.Replace(" ", "", StringComparison.Ordinal)
|
||||
.Replace("-", "", StringComparison.Ordinal);
|
||||
|
||||
if (normalized.StartsWith("IR", StringComparison.Ordinal))
|
||||
normalized = normalized[2..];
|
||||
|
||||
normalized = "IR" + normalized;
|
||||
|
||||
return System.Text.RegularExpressions.Regex.IsMatch(normalized, @"^IR\d{24}$")
|
||||
? normalized
|
||||
: null;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user