public ActionResult ConfirmAccount(TeachersConfirmAccountVM model) { if (ModelState.IsValid) { Teacher teacher = unitOfWork.TeacherRepository.GetById(model.Id); teacher.Username = model.Username; if (teacher != null) { if (PasswordHasher.Equals(model.Password, teacher.Salt, teacher.Hash)) { var passPhrase = PasswordHasher.Hash(model.NewPassword); teacher.Hash = passPhrase.Hash; teacher.Salt = passPhrase.Salt; teacher.IsConfirmed = true; unitOfWork.TeacherRepository.Update(teacher); 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"); } Teacher teacher = unitOfWork.TeacherRepository.GetById(id.Value); if (teacher == null || teacher.IsConfirmed) { return RedirectToAction("NotFound", "Error"); } TeachersConfirmAccountVM model = new TeachersConfirmAccountVM(); model.Id = id.Value; return View(model); }