Beispiel #1
0
        public async Task <Result <RegistrarRequisicaoCriacaoSenhaResponse> > Handle(RegistrarRequisicaoCriacaoSenhaCommand request, CancellationToken cancellationToken)
        {
            var commanValidator = new RegistrarRequisicaoCriacaoSenhaCommandValidator();
            var validatorResult = commanValidator.Validate(request);

            if (!validatorResult.IsValid)
            {
                return(Result <RegistrarRequisicaoCriacaoSenhaResponse> .Fail(validatorResult.Errors.Select(x => x.ErrorMessage)));
            }

            var consultaUsuarioResult = await _usuarioServico.ConsultarUsuarioPorId(request.UsuarioId);

            if (consultaUsuarioResult.IsFailure)
            {
                return(Result <RegistrarRequisicaoCriacaoSenhaResponse> .Fail(consultaUsuarioResult.Messages));
            }

            var requisicaoSenhaUsuario         = RequisicaoSenhaUsuario.Criar(consultaUsuarioResult.Value, DateTimeOffset.Now);
            var registrarRequisicaoSenhaResult = await _requisicaoSenhaUsuarioServico.RegistrarRequisicaoSenha(requisicaoSenhaUsuario.Value);

            if (registrarRequisicaoSenhaResult.IsFailure)
            {
                return(Result <RegistrarRequisicaoCriacaoSenhaResponse> .Fail(registrarRequisicaoSenhaResult.Messages));
            }

            return(Result <RegistrarRequisicaoCriacaoSenhaResponse> .Ok(new RegistrarRequisicaoCriacaoSenhaResponse()));
        }
Beispiel #2
0
        public Result ValidarHashRequisicaoSenha(RequisicaoSenhaUsuario requisicaoSenhaUsuario)
        {
            if (requisicaoSenhaUsuario == null)
            {
                return(Result.Fail(""));
            }

            if (_configuracoesHash.TempoExpiracaoEmHoras < 1)
            {
                return(Result.Fail(""));
            }

            try
            {
                if (requisicaoSenhaUsuario.DataExpiracao != default(DateTimeOffset))
                {
                    return(Result.Fail(""));
                }

                requisicaoSenhaUsuario.DataExpiracao
                    = requisicaoSenhaUsuario.DataRequisicao.AddHours(_configuracoesHash.TempoExpiracaoEmHoras);

                if (DateTimeOffset.Now >= requisicaoSenhaUsuario.DataExpiracao)
                {
                    return(Result.Fail(""));
                }

                return(Result.Ok());
            }
            catch (Exception ex)
            {
                return(Result.Fail(""));
            }
        }
Beispiel #3
0
        public void Test()
        {
            var usuairio = FakeData.UsuarioValido;
            var sut      = RequisicaoSenhaUsuario.Criar(usuairio, DateTimeOffset.Now);

            sut.IsSuccess.Should().BeTrue();
            sut.IsFailure.Should().BeFalse();
            sut.Value.Usuario.UsuarioId.Should().Be(usuairio.UsuarioId);
        }
Beispiel #4
0
        public async Task RegistrarRequisicaoSenha(RequisicaoSenhaUsuario requisicaoSenhaUsuario)
        {
            await Task.CompletedTask;

            using (var conn = GetConnection())
            {
                await conn.ExecuteAsync(RequisicaoSenhaUsuarioStatement.RegistrarRequisicaoSenha, new { });
            }
        }
Beispiel #5
0
        private Result ValidarHashRequisicaoSenha(RequisicaoSenhaUsuario requisicaoSenhaUsuario)
        {
            try
            {
                var validacaoHashResult = _requisicaoSenhaUsuarioServico.ValidarHashRequisicaoSenha(requisicaoSenhaUsuario);
                if (validacaoHashResult.IsFailure)
                {
                    return(Result.Fail(validacaoHashResult.Messages));
                }

                return(Result.Ok());
            }
            catch (Exception ex)
            {
                return(Result.Fail(ex.ToString()));
            }
        }
Beispiel #6
0
        private async Task <Result> ExecutarRegistorRequisicaoSenha(RequisicaoSenhaUsuario requisicaoSenhaUsuario)
        {
            if (requisicaoSenhaUsuario == null)
            {
                return(Result <RequisicaoSenhaUsuario> .Fail(nameof(requisicaoSenhaUsuario)));
            }

            try
            {
                await _requisicaoSenhaUsuarioRepositorio.RegistrarRequisicaoSenha(requisicaoSenhaUsuario).ConfigureAwait(false);

                return(Result.Ok());
            }
            catch (Exception ex)
            {
                return(Result.Fail(""));
            }
        }
Beispiel #7
0
        public void Teste11()
        {
            //Arrange
            const int TEMPO_EXPIRACAO_EM_HORAS = 8;

            configuracoesHashOptions.Value
            .Returns(_ => new ConfiguracoesHash {
                TempoExpiracaoEmHoras = TEMPO_EXPIRACAO_EM_HORAS
            });

            var sut             = new RequisicaoSenhaUsuarioServico(requisicaoSenhaUsuarioRepositorio, configuracoesHashOptions);
            var requisicaoSenha = RequisicaoSenhaUsuario.Criar(FakeData.UsuarioValido, DateTimeOffset.Now.AddHours(-9));

            //Act
            var result = sut.ValidarHashRequisicaoSenha(requisicaoSenha.Value);

            //Arrange
            result.IsFailure.Should().BeTrue();
            result.IsSuccess.Should().BeFalse();
        }
Beispiel #8
0
 public async Task <Result> RegistrarRequisicaoSenha(RequisicaoSenhaUsuario requisicaoSenhaUsuario)
 => await ExecutarRegistorRequisicaoSenha(requisicaoSenhaUsuario);