@using Common.Dtos.User @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 ChangePasswordFromUserDto 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; } 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; } }