public IActionResult UserUpdatePassword(PasswordUpdateModel model) { if (model.NewPassword != model.ConfirmNewPassword) { goto Failed; } var email = User.Claims.ElementAt(1).Value; UserModel user = _serviceFactory.User.Authenticate(email, model.CurrentPassword); if (user is null) { goto Failed; } else { bool result = _serviceFactory.User.UpdatePassword(user.UserId, model.NewPassword); if (result) { goto Success; } } Failed: TempData["notification"] = "Password change failed!"; return(Redirect("/Settings")); Success: TempData["notification"] = "Password change success!"; return(Redirect("/Settings")); }
public IActionResult UserUpdatePassword(PasswordUpdateModel model) { if (!ModelState.IsValid) { goto Failed; } if (model.NewPassword != model.ConfirmNewPassword) { goto Failed; } var email = User.Claims.ElementAt(1).Value; UserModel user = _serviceFactory.User.Authenticate(email, model.CurrentPassword); if (user is null) { goto Failed; } else { bool has_success = _serviceFactory.User.UpdatePassword(user.UserId, model.NewPassword); if (has_success) { goto Success; } } Failed: TempData["notification"] = "Password change failed!"; return(Redirect("/Settings")); Success: TempData["notification"] = "Password change success!"; var log = new ActivityModel { ActivityName = "Update User Password", CreatedBy = user.UserId, ActivityDescription = "Set User Password to " + model.NewPassword, }; _serviceFactory.Activity.Create(log); return(Redirect("/Settings")); }