public ActionResult AlterarSenha(Guid id) { var func = Repository.PesquisarPeloId(id); var modelAlterarSenha = new FuncionarioAlterarSenha() { Id = func.Id, Nome = func.Nome }; return(View(modelAlterarSenha)); }
public ActionResult GravaAlteracaoSenha(FuncionarioAlterarSenha funcSenha) { try { var entity = Repository.PesquisarPeloId(funcSenha.Id); if (entity.Senha == Criptografia.Encrypt(funcSenha.SenhaAtual)) { if (Criptografia.Encrypt(funcSenha.SenhaNova) == Criptografia.Encrypt(funcSenha.SenhaNovaConfirmacao)) { entity.Senha = Criptografia.Encrypt(funcSenha.SenhaNova); Repository.Salvar(entity); Context.SaveChanges(); // Se funcionario editado for o usuário logado, atualiza a Sessao do usuário logado... if (entity.Id == Sessao.FuncionarioLogado.Id) { Session.Remove("Funcionario"); Session.Add("Funcionario", entity); } TempData["Mensagem"] = "Senha alterada com sucesso!"; } else { TempData["MensagemErro"] = "A confirmação de senha não confere com a nova senha! Tente novamente!"; } } else { TempData["MensagemErro"] = "Senha informada não confere com a antiga! Tente novamente!"; } return(RedirectToAction("Index")); } catch (Exception e) { TempData["MensagemErro"] = "Erro ao alterar a senha do funcionário!" + e.Message; return(RedirectToAction("Index")); } }