示例#1
0
        private async Task <Dominio.Entidades.Usuario> ObterUsuario(GerarTokenDto gerarTokenDto)
        {
            try
            {
                var usuario = await mediator.Send(new ObterUsuarioQuery(gerarTokenDto.CPF));

                return(usuario);
            }
            catch (Exception)
            {
                throw new NegocioException("Este CPF não existe na base do Escola Aqui. Você deve realizar o login utilizando a senha padrão.");
            }
        }
示例#2
0
        private async Task <RetornoUsuarioCoreSSO> ObterUsuarioCoreSSO(GerarTokenDto gerarTokenDto)
        {
            var usuarioCoreSSO = await mediator.Send(new ObterUsuarioCoreSSOQuery(gerarTokenDto.CPF));

            if (usuarioCoreSSO == null)
            {
                throw new NegocioException("Este CPF não existe na base do Escola Aqui. Você deve realizar o login utilizando a senha padrão.");
            }

            usuarioCoreSSO.Cpf = gerarTokenDto.CPF;

            return(usuarioCoreSSO);
        }
示例#3
0
        public async Task <RespostaApi> Executar(GerarTokenDto gerarTokenDto)
        {
            var usuario = await ObterUsuario(gerarTokenDto);

            var usuarioCoreSSO = await ObterUsuarioCoreSSO(gerarTokenDto);

            await mediator.Send(new ValidarAlunoInativoRestritoCommand(usuarioCoreSSO));

            usuario.IniciarRedefinicaoSenha();

            if (string.IsNullOrEmpty(usuario.Email))
            {
                throw new NegocioException("Usuário não possui e-mail cadastrado");
            }

            await EnvioEmail(usuario);

            await mediator.Send(new SalvarUsuarioCommand(usuario));

            return(RespostaApi.Sucesso(usuario.Email));
        }
 public async Task <ActionResult <RespostaApi> > SolicitarRedefinicao([FromBody] GerarTokenDto gerarTokenDto, [FromServices] ISolicitarRedifinicaoSenhaUseCase solicitarRedifinicaoSenhaUseCase)
 {
     return(await solicitarRedifinicaoSenhaUseCase.Executar(gerarTokenDto));
 }