public UsuarioModel Login(LoginRequest request) { request.Validar(); var usuario = _repositorioUsuario.Obter(request.Email); var senhaCriptografada = CriptografiaSha512.GerarHash(request.Senha); new ValidacaoLogin(senhaCriptografada).Validar(usuario); return(new UsuarioModel(usuario)); }
public void RecuperarSenha(string token, RecuperarSenhaRequest request) { request.Validar(); var tokenRecuperacaoSenha = ValidarTokenRecuperacaoSenha(token); var novaSenha = CriptografiaSha512.GerarHash(request.Senha); tokenRecuperacaoSenha.RecuperarSenha(novaSenha); _repositorioUsuario.AtualizarSenha(tokenRecuperacaoSenha.Usuario); _repositorioTokenRecuperacaoSenha.Utilizar(tokenRecuperacaoSenha); _servicoEnvioEmail.EnviarEmailAtualizacaoSenha(tokenRecuperacaoSenha.Usuario); }
public async Task AtualizarSenha(AtualizarSenhaRequest request, long idUsuarioAutenticado) { request.Validar(); var usuario = _repositorioUsuario.Obter(idUsuarioAutenticado); var novaSenha = CriptografiaSha512.GerarHash(request.Senha); new ValidacaoAtualizacaoSenhaUsuario(novaSenha).Validar(usuario); usuario.AtualizarSenha(novaSenha); _repositorioUsuario.AtualizarSenha(usuario); await _servicoEmail.EnviarEmailAtualizacaoSenha(usuario); }
public UsuarioModel Cadastrar(CadastrarUsuarioRequest request) { request.Validar(); var senha = CriptografiaSha512.GerarHash(request.Senha); var perfilUsuario = _repositorioUsuario.ObterPerfil(request.Tipo); var usuario = request.ParaEntidade(senha, perfilUsuario); new ValidacaoCadastroUsuario(_repositorioUsuario, _repositorioArquivo).Validar(usuario); _unitOfWork.IniciarTransacao(); _repositorioEndereco.Inserir(usuario.Endereco); _repositorioUsuario.Inserir(usuario); _repositorioUsuarioCausa.Inserir(usuario); _unitOfWork.ExecutarCommit(); return(new UsuarioModel(usuario)); }