public ActionResult ConfirmAccount(AdminsConfirmAccountVM model) { if (ModelState.IsValid) { Administrator admin = unitOfWork.AdminRepository.GetById(model.Id); admin.Username = model.Username; if (admin != null) { if (PasswordHasher.Equals(model.Password, admin.Salt, admin.Hash)) { var passPhrase = PasswordHasher.Hash(model.NewPassword); admin.Hash = passPhrase.Hash; admin.Salt = passPhrase.Salt; admin.IsConfirmed = true; unitOfWork.AdminRepository.Update(admin); unitOfWork.Save(); TempData.FlashMessage("Your account has been confirmed. Please, login!"); return RedirectToAction("Login", "Account"); } else { ModelState.AddModelError("", "Incorrect Password"); } } } return View(model); }
public ActionResult ConfirmAccount(int? id) { if (AuthenticationManager.LoggedUser != null) { TempData.FlashMessage("You are logged in! Please log out and then verify!", null, FlashMessageTypeEnum.Red); return RedirectToAction("Index", "Home"); } if (!id.HasValue) { return RedirectToAction("NotFound", "Error"); } Administrator admin = unitOfWork.AdminRepository.GetById(id.Value); if (admin == null || admin.IsConfirmed) { return RedirectToAction("NotFound", "Error"); } AdminsConfirmAccountVM model = new AdminsConfirmAccountVM(); model.Id = id.Value; return View(model); }