Ejemplo n.º 1
0
        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));
        }
Ejemplo n.º 2
0
        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));
        }