public async Task <Resposta <Usuario> > Handle(CriarUsuarioComando request, CancellationToken cancellationToken) { var erros = _validador.Validar(request); if (!string.IsNullOrEmpty(erros)) { return(new Resposta <Usuario>(erros)); } var usuario = new Usuario { Ativo = request.Ativo, Email = request.Email, Foto = request.Foto, Login = request.Login, Nome = request.Nome, PerfilCodigo = request.PerfilCodigo, Telefone = request.Telefone, CursoCodigo = request.CursoCodigo }; string senha = SenhaHelper.Gerar(); usuario.Senha = senha.ToMD5(); await EnviarEmailConfirmacaoCadastro(usuario.Email, usuario.Login, senha); var usuarioCadastrado = await _repositorio.Criar(usuario); return(new Resposta <Usuario>(usuarioCadastrado)); }
public bool ValidarSenha(Usuario usuario) { var usuarioRepositorio = _uow.Repositorio <IUsuarioRepository>(); var hash = UsuarioExiste(usuarioRepositorio, usuario.ID).Senha; return(SenhaHelper.HashValida(usuario.Senha, hash)); }
public void MudarSenha(Usuario usuario) { var user = _usuarioRepositorio.Obter(usuario.Id_Usuario); if (user != null) { user.Senha = SenhaHelper.GerarHash(usuario.Senha); _usuarioRepositorio.SalvarModificacoes(user); } }
public void Inserir(Usuario usuario) { var usuarioRepositorio = _uow.Repositorio <IUsuarioRepository>(); var jaExiste = _uow.Repositorio <IUsuarioRepository>().Unique(u => u.Email == usuario.Email) != null; if (jaExiste) { throw new Exception(UsuarioDuplicado); } usuario.Senha = SenhaHelper.CriarHash(usuario.Senha); usuarioRepositorio.Insert(usuario); }
public void Editar(Usuario usuario) { var usuarioRepositorio = _uow.Repositorio <IUsuarioRepository>(); var usuarioNoBanco = UsuarioExiste(usuarioRepositorio, usuario.ID); // Checar se existe algum outro usuário com o e-mail editado var jaExiste = usuarioRepositorio.Unique(u => u.Email == usuario.Email && u.ID != usuario.ID) != null; if (jaExiste) { throw new Exception(UsuarioDuplicado); } usuario.Senha = SenhaHelper.CriarHash(usuario.Senha); EntityHelper.TransferirPropriedades(usuario, usuarioNoBanco); usuarioRepositorio.Update(usuarioNoBanco); }
protected override void ExecutarValidacoes() { if (string.IsNullOrEmpty(Senha)) { AdicionarErroCampoObrigatorio(nameof(Senha)); } if (string.IsNullOrEmpty(ConfirmacaoSenha)) { AdicionarErroCampoObrigatorio(nameof(ConfirmacaoSenha)); } if (!string.IsNullOrEmpty(Senha) && !SenhaHelper.Validar(Senha)) { AdicionarErroCampoInvalido("A senha deve ter pelo menos 6 caracteres, 1 letra, 1 número e um caracter especial."); } if (!string.IsNullOrEmpty(Senha) && Senha != ConfirmacaoSenha) { AdicionarErroCampoInvalido("A senha e a confirmação não conferem."); } }
public async Task<Resposta<string>> Handle(RedefinirSenhaComando request, CancellationToken cancellationToken) { var erros = _validador.Validar(request); if (!string.IsNullOrEmpty(erros)) return new Resposta<string>(null, erros); var email = request.Email; var usuario = await _repositorio.Consultar(lnq => lnq.Email.Equals(email)); string senha = SenhaHelper.Gerar(); usuario.Senha = senha.ToMD5(); await _repositorio.Atualizar(usuario); string mensagem = mensagem = $@"Sua senha no SGH foi redefinida com sucesso! <br> Usuário: {usuario.Login}<br> Senha: {senha}<br> click <a>aqui</a> para acessar o sistema."; await _emailService.Enviar(usuario.Email, "Redefinição de senha no SGH", mensagem); return new Resposta<string>("Senha redefinida com sucesso! Foi enviado um e-mail com seus dados de acesso.", ""); }
public void Incluir(Usuario usuario) { usuario.Senha = SenhaHelper.GerarHash(usuario.Senha); _usuarioRepositorio.InserirNovo(usuario); }
public Usuario Autenticacao(string login, string senha) { string hash = SenhaHelper.GerarHash(senha); return(_usuarioRepositorio.Login(login, hash)); }
protected override void ExecutarValidacoes() { if (string.IsNullOrEmpty(Nome)) { AdicionarErroCampoObrigatorio(nameof(Nome)); } if (!string.IsNullOrEmpty(Email) && !EmailHelper.Validar(Email)) { AdicionarErroCampoInvalido(nameof(Email)); } if (string.IsNullOrEmpty(Senha)) { AdicionarErroCampoObrigatorio(nameof(Senha)); } if (string.IsNullOrEmpty(ConfirmacaoSenha)) { AdicionarErroCampoObrigatorio(nameof(ConfirmacaoSenha)); } if (DateTime.MinValue == DataNascimento || DataNascimento > DateTime.Now) { AdicionarErroCampoInvalido("Informe uma data válida e menor que a data atual."); } if (string.IsNullOrEmpty(Endereco?.Cep)) { AdicionarErroCampoObrigatorio("Cep"); } if (string.IsNullOrEmpty(Endereco?.Estado)) { AdicionarErroCampoObrigatorio("Estado"); } if (string.IsNullOrEmpty(Endereco?.Cidade)) { AdicionarErroCampoObrigatorio("Cidade"); } if (string.IsNullOrEmpty(Endereco?.Bairro)) { AdicionarErroCampoObrigatorio("Bairro"); } if (string.IsNullOrEmpty(Endereco?.Logradouro)) { AdicionarErroCampoObrigatorio("Logradouro"); } if (string.IsNullOrEmpty(Endereco?.Numero)) { AdicionarErroCampoObrigatorio("Número"); } if (string.IsNullOrEmpty(Tipo)) { AdicionarErroCampoObrigatorio(nameof(Tipo)); } if (CausasInteresse == null) { AdicionarErroCampoObrigatorio("Causa de Interesse"); } if (Tipo != "INSTITUICAO" && Tipo != "VOLUNTARIO") { AdicionarErroCampoInvalido("Informe VOLUNTARIO ou INSTITUICAO no tipo."); } if (!string.IsNullOrEmpty(Senha) && !SenhaHelper.Validar(Senha)) { AdicionarErroCampoInvalido("A senha deve ter pelo menos 6 caracteres, 1 letra, 1 número e um caracter especial."); } if (Senha != ConfirmacaoSenha) { AdicionarErroCampoInvalido("A senha e a confirmação não conferem."); } if (!string.IsNullOrEmpty(Nome) && Nome.Length > 100) { AdicionarErroCampoInvalido("O nome deve ter no máximo 100 caracteres."); } if (!string.IsNullOrEmpty(Email) && Email.Length > 50) { AdicionarErroCampoInvalido("O nome deve ter no máximo 50 caracteres."); } }