예제 #1
0
        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));
        }
예제 #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"));
            }

            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));
        }