public ActionResult ChangePassword(ChangePassword changePassword)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    UsuarioService usuarioService = new UsuarioService();

                    if (usuarioService.AlteraSenha(changePassword))
                    {
                        TempData["message"] = "Senha alterada com sucesso";

                        return RedirectToAction("ChangePasswordSuccess");
                    }
                    else
                    {
                        ModelState.AddModelError("", "Senha não alterada. Senha ou Nova Senha inválidas");
                    }
                }
                catch (Exception ex)
                {
                    ViewBag.Error = ex.Message;
                }
            }

            return View(changePassword);
        }
Example #2
0
        public bool AlteraSenha(ChangePassword changePassword)
        {
            string senhaAtualCriptografada = Crypt.Encrypt(changePassword.SenhaAtual);

            using (Context db = new Context())
            {
                Usuario usuario = (from u in db.Usuario
                                   where u.Senha.Equals(Crypt.Encrypt(senhaAtualCriptografada))
                                   select u).FirstOrDefault();

                if (usuario != null)
                {
                    // Criptografa e altera a nova senha do usuário
                    usuario.Senha = Crypt.Encrypt(changePassword.NovaSenha);

                    // Evita erro de validação do modelo
                    usuario.ConfirmacaoSenha = usuario.Senha;

                    db.Entry(usuario).State = EntityState.Modified;
                    db.SaveChanges();

                    return true;
                }
                else
                {
                    return false;
                }
            }
        }