public async Task <ActionResult> ChangePasswordAdmin(ChangePasswordAdmin model) { if (ModelState.IsValid) { //Так как функция AddPasswordAsync не изменяет пароль если он существует, то сначала мы его удалим из базы using (AirFlightContext db = new AirFlightContext()) { var pass = db.AspNetUsers.Find(model.UserId); pass.PasswordHash = null; db.Entry(pass).State = EntityState.Modified; db.SaveChanges(); } //Затем изменим. Если пароль введён согласно правилам (Заглавные буквы и строчные и цифры), то возвращаемся на страницу ролей var result = await UserManager.AddPasswordAsync(model.UserId, model.NewPassword); if (result.Succeeded) { return(RedirectToAction("AddRole", "Admin", new { UserId = model.UserId, Message = "Пароль успешно изменён" })); } AddErrors(result); } // Это сообщение означает наличие ошибки; повторное отображение формы return(View(model)); }
public void changeEmployeePassword() { if (currentUser is CompanyAdmin) { changePasswordAdminForm = new ChangePasswordAdmin(this); changePasswordAdminForm.Show(); } else { changePasswordForm = new ChangePassword(this); changePasswordForm.Show(); } }