public ActionResult ChangePass() { var viewModel = new AdminChangePass { UserName = LoginUser.UserName, }; return(View(viewModel)); }
public ActionResult ChangePass(AdminChangePass viewModel) { if (ModelState.IsValid) { // Check password is match if (viewModel.NewPassword != viewModel.NewPassword2) { ModelState.AddModelError("NewPassword2", "Nhập lại mật khẩu mới không khớp"); return(View(viewModel)); } if (viewModel.OldPassword == viewModel.NewPassword) { ModelState.AddModelError("NewPassword", "Mật khẩu mới không được trùng với mật khẩu cũ"); return(View(viewModel)); } using (var unitOfWork = UnitOfWorkManager.NewUnitOfWork()) { try { var ischange = MembershipService.ChangePassword(LoginUser.UserName, viewModel.OldPassword, viewModel.NewPassword); if (!ischange) { // Rollback transaction unitOfWork.Rollback(); ModelState.AddModelError("OldPassword", "Sai mật khẩu"); return(View(viewModel)); } unitOfWork.Commit(); // We use temp data because we are doing a redirect TempData[AppConstants.MessageViewBagName] = new GenericMessageViewModel { Message = "Đổi mật khẩu thành công!", MessageType = GenericMessages.success }; return(RedirectToAction("index", "Admin")); } catch (Exception ex) { unitOfWork.Rollback(); LoggingService.Error(ex.Message); ModelState.AddModelError("", "Có lỗi xảy ra khi đổi mật khẩu!"); } } } return(View(viewModel)); }