@using Common.Dtos @using Common.Validation @using HushianWebApp.Service @using HushianWebApp.Services @inject UserService userService; @inject NavigationManager NavigationManager @inject AuthService authService; @inject ILocalStorageService localStorageService;
@code { [Inject] protected ToastService ToastService { get; set; } = default!; public bool SpinnerVisible { get; set; } public ChangePasswordDto dto { get; set; } = new(); public string RePassword { get; set; } = ""; public string Username { get; set; } = ""; protected override async Task OnParametersSetAsync() { // Username = await localStorageService.GetItem("Username"); // dto = new() { UserName = Username }; await base.OnParametersSetAsync(); } async Task Click() { if (string.IsNullOrEmpty(dto.OldPassWord) || string.IsNullOrEmpty(dto.NewPassWord)) return; if (dto.NewPassWord != RePassword) { ToastService.Notify(new ToastMessage(ToastType.Danger, "کلمه عبور با تکرار متفاوت است")); return; } List errors = new(); if (!dto.NewPassWord.CheckLawPassword(ref errors)) { ToastService.Notify(new(ToastType.Danger, errors.First())); return ; } SpinnerVisible = true; var result = await userService.ChangePasswordYourself(dto); if (result) { ToastService.Notify(new ToastMessage(ToastType.Success, "تغییر کلمه عبور با موفقیت انجام شد")); await authService.Logout(); NavigationManager.NavigateTo("/login"); } else ToastService.Notify(new ToastMessage(ToastType.Danger, "خطا در تغییر کلمه عبور")); SpinnerVisible = false; } }