public async Task Deve_Alterar_Senha(string cpf, string senha, string senhaAnterior)
        {
            InstanciarSetup();

            var dto = new AlterarSenhaDto(cpf, senha);

            await alterarSenhaUseCase.Executar(dto, senhaAnterior);
        }
        public async Task Deve_Acusar_Erro_Validacao(string cpf, string senha, string senhaAnterior)
        {
            InstanciarSetup();

            var dto = new AlterarSenhaDto(cpf, senha);

            await Assert.ThrowsAsync <ValidacaoException>(async() => await alterarSenhaUseCase.Executar(dto, senhaAnterior));
        }
Exemplo n.º 3
0
        private static async Task ValidarDto(AlterarSenhaDto alterarSenhaDto)
        {
            var validator = new AlterarSenhaValidator();

            var result = await validator.ValidateAsync(alterarSenhaDto);

            if (!result.IsValid)
            {
                throw new ValidacaoException(result.Errors);
            }
        }
Exemplo n.º 4
0
 public async Task AlterarSenha(AlterarSenhaDto alterarSenhaDto)
 {
     var login = servicoUsuario.ObterLoginAtual();
     var usuario = servicoUsuario.ObterUsuarioPorCodigoRfLoginOuAdiciona(null, login);
     if (usuario == null)
     {
         throw new NegocioException("Usuário não encontrado.");
     }
     usuario.ValidarSenha(alterarSenhaDto.NovaSenha);
     await servicoAutenticacao.AlterarSenha(login, alterarSenhaDto.SenhaAtual, alterarSenhaDto.NovaSenha);
 }
Exemplo n.º 5
0
 public IActionResult AlterarSenha(AlterarSenhaDto alterarSenhaDto)
 {
     try
     {
         _usuarioService.AlterarSenha(alterarSenhaDto.SenhaAtual, alterarSenhaDto.NovaSenha, alterarSenhaDto.NovaSenhaRepetir);
         return(Ok());
     }
     catch (Exception ex)
     {
         return(BadRequest(ex.Message));
     }
 }
Exemplo n.º 6
0
        public async Task <RespostaApi> Executar(AlterarSenhaDto alterarSenhaDto, string senhaAntiga)
        {
            await ValidarDto(alterarSenhaDto);

            var usuario = await ObterUsuarioCoreSSO(alterarSenhaDto);

            usuario.ValidarSenhaAlterarSenha(usuario.ObterSenhaCriptografada(senhaAntiga));

            usuario.AlterarSenha(alterarSenhaDto.Senha);

            await Validar5UltimasSenhas(usuario);

            await AlterarSenhaUsuarioCoreSSO(usuario);

            await IncluirSenhaHistorico(usuario);

            return(RespostaApi.Sucesso());
        }
Exemplo n.º 7
0
        public async Task <RespostaApi> Executar(AlterarSenhaDto alterarSenhaDto, string senhaAntiga)
        {
            await ValidarDto(alterarSenhaDto);

            var usuario = await ObterUsuarioCoreSSO(alterarSenhaDto);

            usuario.ValidarSenhaAlterarSenha(usuario.ObterSenhaCriptografada(senhaAntiga));

            usuario.AlterarSenha(alterarSenhaDto.Senha);

            await Validar5UltimasSenhas(usuario);

            await AlterarSenhaUsuarioCoreSSO(usuario);

            await IncluirSenhaHistorico(usuario);

            var token = await mediator.Send(new CriarTokenCommand(usuario.Cpf));

            return(RespostaApi.Sucesso(new RetornoToken(token)));
        }
Exemplo n.º 8
0
        public async Task <IActionResult> AlterarSenha([FromBody] AlterarSenhaDto alterarSenhaDto)
        {
            await comandosUsuario.AlterarSenha(alterarSenhaDto);

            return(Ok());
        }
Exemplo n.º 9
0
        private async Task <RetornoUsuarioCoreSSO> ObterUsuarioCoreSSO(AlterarSenhaDto alterarSenhaDto)
        {
            var query = new ObterUsuarioCoreSSOQuery(alterarSenhaDto.CPF);

            return(await mediator.Send(query) ?? throw new NegocioException($"Usuário com o CPF '{alterarSenhaDto.CPF}' não encontrado"));
        }