public void AlterarSenha(int codigoUsuario, AlterarSenhaRequest request) { if (request.SenhaAntiga == request.SenhaNova) { throw new Exception("A senha antiga é a mesma que a nova"); } if (request.SenhaNova != request.SenhaNovaConfirme) { throw new Exception("As senhas não são parecidas!"); } try { unitOfWork.BeginTransaction(); usuarioRepositorio.AlterarSenha(codigoUsuario, request.SenhaNova); unitOfWork.Commit(); } catch { unitOfWork.Rollback(); throw; } finally { unitOfWork.Dispose(); } }
public void Executar() { Console.WriteLine("Informe seu usuário: "); var nomeUsuario = Console.ReadLine(); Console.WriteLine("Informe sua senha: "); var senhaUsuario = Console.ReadLine(); _usuarioRepositorio.AlterarSenha(new Usuario(nomeUsuario, senhaUsuario)); }
public Usuario AlterarSenha(Guid usuarioId, string novaSenha) { var usuario = _usuarioRepositorio.ObterPorId(usuarioId); usuario.Senha = novaSenha; if (!usuario.EstaConsistente()) { return(usuario); } _usuarioRepositorio.AlterarSenha(usuarioId, novaSenha); return(usuario); }
public ActionResult TrocarSenha(AlterarSenhaViewModel viewModel) { if (!ModelState.IsValid) { return(View(viewModel)); } var usuario = _usuarioRepositorio.ObterUsuarioPorLogin(viewModel.Login); if (usuario != null) { if (!usuario.Externo) { ModelState.AddModelError(string.Empty, "Opção disponível apenas para usuários Externos."); return(View(viewModel)); } if (usuario.Ativo == false) { ModelState.AddModelError(string.Empty, $"O usuário {usuario.ToString()} está inativo"); } if (!usuario.Autenticar(viewModel.Login, viewModel.SenhaAtual)) { ModelState.AddModelError(string.Empty, $"A senha atual não confere"); } if (viewModel.NovaSenha != viewModel.ConfirmacaoNovaSenha) { ModelState.AddModelError(string.Empty, $"O campo Nova Senha e Confirmação não são iguais"); } if (ModelState.IsValid) { using (var ws = new WsControleSenha.Criptografia()) { var resultado = ws.alterarSenha(viewModel.NovaSenha, "CRM.TB_CRM_USUARIOS", usuario.LoginExterno); if (resultado != "OK") { ModelState.AddModelError(string.Empty, resultado); return(View(viewModel)); } usuario.AlterarSenha(viewModel.NovaSenha); _usuarioRepositorio.AlterarSenha(usuario); TempData["Sucesso"] = true; } } return(View(viewModel)); } else { ModelState.AddModelError(string.Empty, "Usuário não encontrado"); } return(View(viewModel)); }
public ActionResult Atualizar([Bind(Include = "Id, Login, LoginExterno, Senha, LoginWorkflow, Nome, Email, CPF, CargoId, Administrador, Externo, Remoto, Ativo, CargoId, ValidarIP")] UsuarioViewModel viewModel, int?id) { if (id == null) { return(RedirectToAction(nameof(Index))); } var usuarioBusca = _usuarioRepositorio.ObterUsuarioPorId(id.Value); if (usuarioBusca == null) { RegistroNaoEncontrado(); } if (ModelState.IsValid) { var usuario = new Usuario( viewModel.Login, viewModel.LoginExterno, viewModel.Senha, viewModel.LoginWorkflow, viewModel.Nome, viewModel.Email, viewModel.CPF, viewModel.CargoId, viewModel.Administrador, viewModel.Externo, viewModel.Remoto, viewModel.Ativo, viewModel.ValidarIP) { Id = usuarioBusca.Id }; if (viewModel.Externo) { if (!string.IsNullOrEmpty(usuarioBusca.Senha) && string.IsNullOrEmpty(viewModel.Senha)) { usuario.Senha = usuarioBusca.Senha; } } if (Validar(usuario)) { var usuarioExistente = _usuarioRepositorio.ObterUsuarioPorLogin(viewModel.Externo ? viewModel.LoginExterno : viewModel.Login); if (usuarioExistente != null && usuarioExistente.Id != usuarioBusca.Id) { ModelState.AddModelError(string.Empty, "Já existe um usuário cadastrado utilizando este login."); } if (viewModel.Externo && !string.IsNullOrEmpty(viewModel.Senha)) { if (Criptografia.Encriptar(viewModel.Senha) != usuarioBusca.Senha) { using (var ws = new WsControleSenha.Criptografia()) { var resultado = ws.alterarSenha(viewModel.Senha, "CRM.TB_CRM_USUARIOS", viewModel.LoginExterno); if (resultado != "OK") { ModelState.AddModelError(string.Empty, resultado); PopularContas(viewModel); PopularCargos(viewModel); return(View(viewModel)); } usuario.Senha = Criptografia.Encriptar(viewModel.Senha); _usuarioRepositorio.AlterarSenha(usuario); } } } _usuarioRepositorio.Atualizar(usuario); TempData["Sucesso"] = true; GravarLogAuditoria(TipoLogAuditoria.UPDATE, usuario); } } PopularContas(viewModel); PopularCargos(viewModel); return(View(viewModel)); }