Usuario IUsuarioService.ValidarLogin(string login, string senha) { var usuario = repository.RecuperarPorLogin(login); if (usuario == null) { throw new Exception(Textos.Geral_Mensagem_Login_Invalido); } if (!MetodosEstaticos.CompararSenha(usuario.Senha, senha, login)) { throw new Exception(Textos.Geral_Mensagem_Login_Invalido); } if (usuario.PerfilId == null) { throw new Exception(Textos.Geral_Mensagem_Usuario_Sem_Perfil); } if (usuario.Status.ValorNumerico() == 0) { throw new Exception(Textos.Geral_Mensagem_Usuario_Desativado); } usuario.Email = emailService.RecuperarTodos(usuario.Id).SingleOrDefault(); return(usuario); }
Usuario IUsuarioService.TrocarSenha(string id, string novaSenha) { var usuario = repository.RecuperarPorId(id); usuario.Senha = MetodosEstaticos.CriptografarSenha(usuario.Login, novaSenha); usuario.SenhaTemporaria = false; base.Atualizar(usuario); return(usuario); }
public override ResultadoValidacao Inserir(Usuario model) { if (VerificaDuplicado(model.Nome, model.Login)) { throw new InvalidOperationException(Textos.Geral_Mensagem_Erro_NomeDuplicado); } var resultado = base.Inserir(model); if (resultado.IsValid) { model.Senha = MetodosEstaticos.CriptografarSenha(model.Login, MetodosEstaticos.GerarSenha()); model.Senha = MetodosEstaticos.CriptografarSenha(model.Login, "123456"); model.SenhaTemporaria = true; if (!string.IsNullOrEmpty(model.Email?.Endereco)) { resultado.AdicionarMensagens(emailService.Processar(model.Email, null, model.Id)); } } return(resultado); }