Exemplo n.º 1
0
 private MotivoNaoCompensado ValidarReenvioInvalido(ValidadorPassagemSistemaRequest request)
 {
     Log.Debug($"Passagem ID: {request.PassagemPendenteArtesp.MensagemItemId} - Fluxo: ValidadorPassagemSistemaHandler |  Validar Reenvio Inválido");
     if (_reenvioInvalidoValidator.ValidateForaSequencia(request.PassagemPendenteArtesp))
     {
         return(MotivoNaoCompensado.ReenvioInvalido);
     }
     return(MotivoNaoCompensado.SemMotivoNaoCompensado);
 }
Exemplo n.º 2
0
 private MotivoNaoCompensado ValidarVeiculoIsento(ValidadorPassagemSistemaRequest request)
 {
     Log.Debug($"Passagem ID: {request.PassagemPendenteArtesp.MensagemItemId} - Fluxo: ValidadorPassagemSistemaHandler | Validar Veiculo Isento");
     if (_validator.Validate(request.PassagemPendenteArtesp, PassagemPendenteArtespValidatorEnum.ValidarVeiculoIsento.ToString()))
     {
         return(MotivoNaoCompensado.Isento);
     }
     return(MotivoNaoCompensado.SemMotivoNaoCompensado);
 }
Exemplo n.º 3
0
 public MotivoNaoCompensado ValidarPassagemJaExistentePorCodigoPassagem(ValidadorPassagemSistemaRequest request)
 {
     Log.Debug($"Passagem ID: {request.PassagemPendenteArtesp.MensagemItemId} - Fluxo: ValidadorPassagemSistemaHandler |  Validar Passagem Já Existente Por Código Passagem");
     if (_passagemRepetidaPorPassagemConveniadoValidator.Validate(request.PassagemPendenteArtesp))
     {
         return(MotivoNaoCompensado.ReenvioInvalido);
     }
     return(MotivoNaoCompensado.SemMotivoNaoCompensado);
 }
Exemplo n.º 4
0
        private MotivoNaoCompensado ValidarTagGrupoPraca(ValidadorPassagemSistemaRequest request)
        {
            Log.Debug($"Passagem ID: {request.PassagemPendenteArtesp.MensagemItemId} - Fluxo: ValidadorPassagemSistemaHandler | validarTagBloqueada");
            if (_tagGrupoPracaValidator.Validate(request.PassagemPendenteArtesp))
            {
                return(MotivoNaoCompensado.TagNaoPertenceGrupoIsento);
            }

            return(MotivoNaoCompensado.SemMotivoNaoCompensado);
        }
Exemplo n.º 5
0
 private MotivoNaoCompensado ValidarHorarioPassagem(ValidadorPassagemSistemaRequest request)
 {
     if (_validator.Validate(request.PassagemPendenteArtesp, PassagemPendenteArtespValidatorEnum.EManual.ToString()))
     {
         return(ValidarHorarioPassagemManual(request));
     }
     else
     {
         return(ValidarHorarioPassagemAutomatica(request));
     }
 }
Exemplo n.º 6
0
        private MotivoNaoCompensado ValidarPassagemEnviadaForaDoPrazo(ValidadorPassagemSistemaRequest request)
        {
            Log.Debug($"Passagem ID: {request.PassagemPendenteArtesp.MensagemItemId} - Fluxo: ValidadorPassagemSistemaHandler | Validar Passagem Fora Do Prazo");
            _passagemForaDoPrazoValidator.Init(request.PassagemPendenteArtesp);
            if (_passagemForaDoPrazoValidator.ValidatePrazo())
            {
                request.PassagemPendenteArtesp.PassagemRecusadaMensageria = true;

                return(MotivoNaoCompensado.PassagemEnviadaForaDoPrazo);
            }

            return(MotivoNaoCompensado.SemMotivoNaoCompensado);
        }
Exemplo n.º 7
0
        private MotivoNaoCompensado ValidarReenvio(ValidadorPassagemSistemaRequest request)
        {
            var motivoNaoCompensado = MotivoNaoCompensado.SemMotivoNaoCompensado;

            if (_validator.Validate(request.PassagemPendenteArtesp, PassagemPendenteArtespValidatorEnum.EReenvio.ToString()))
            {
                if (motivoNaoCompensado == MotivoNaoCompensado.SemMotivoNaoCompensado)
                {
                    motivoNaoCompensado = ValidarPassagemEnviadaForaDoPrazo(request);
                }

                if (motivoNaoCompensado == MotivoNaoCompensado.SemMotivoNaoCompensado)
                {
                    motivoNaoCompensado = ValidarReenvioInvalido(request);
                }
            }

            return(motivoNaoCompensado);
        }
Exemplo n.º 8
0
        /// <summary>
        /// Executa o processamento de Passagens
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        public ValidadorPassagemSistemaResponse Execute(ValidadorPassagemSistemaRequest request)
        {
            var motivoNaoCompensado = MotivoNaoCompensado.SemMotivoNaoCompensado;

            if (motivoNaoCompensado == MotivoNaoCompensado.SemMotivoNaoCompensado)
            {
                motivoNaoCompensado = VerificarTagPracaBloqueada(request.PassagemPendenteArtesp.MensagemItemId, request.PassagemPendenteArtesp.Praca.CodigoPraca ?? 0);
            }

            if (motivoNaoCompensado == MotivoNaoCompensado.SemMotivoNaoCompensado)
            {
                motivoNaoCompensado = ValidarReenvio(request);
            }

            if (motivoNaoCompensado == MotivoNaoCompensado.SemMotivoNaoCompensado)
            {
                motivoNaoCompensado = ValidarPassagemJaExistentePorCodigoPassagem(request);
            }

            if (motivoNaoCompensado == MotivoNaoCompensado.SemMotivoNaoCompensado)
            {
                motivoNaoCompensado = ValidarCobrancaIndevida(request);
            }

            if (motivoNaoCompensado == MotivoNaoCompensado.SemMotivoNaoCompensado)
            {
                motivoNaoCompensado = ValidarTagGrupoPraca(request);
            }

            if (motivoNaoCompensado == MotivoNaoCompensado.SemMotivoNaoCompensado)
            {
                motivoNaoCompensado = ValidarTransacaoRepetida(request);
            }

            if (motivoNaoCompensado == MotivoNaoCompensado.SemMotivoNaoCompensado)
            {
                motivoNaoCompensado = ValidarHorarioPassagem(request);
            }

            if (motivoNaoCompensado == MotivoNaoCompensado.SemMotivoNaoCompensado)
            {
                motivoNaoCompensado = ValidarGrupoIsentoTag(request);
            }

            if (motivoNaoCompensado == MotivoNaoCompensado.SemMotivoNaoCompensado)
            {
                motivoNaoCompensado = ValidarVeiculoIsento(request);
            }

            if (motivoNaoCompensado == MotivoNaoCompensado.SemMotivoNaoCompensado)
            {
                motivoNaoCompensado = ValidarValorTarifa(request);
            }

            if (motivoNaoCompensado == MotivoNaoCompensado.SemMotivoNaoCompensado)
            {
                motivoNaoCompensado = ValidarSaldo(request);
            }

            PreencherPrimeiraPassagemManual(request);

            //Retorna o objeto pelo response...
            var response = new ValidadorPassagemSistemaResponse();

            response.PassagemPendenteArtesp = request.PassagemPendenteArtesp;
            response.MotivoNaoCompensado    = motivoNaoCompensado;

            return(response);
        }
Exemplo n.º 9
0
 private MotivoNaoCompensado ValidarCobrancaIndevida(ValidadorPassagemSistemaRequest request)
 {
     Log.Debug($"Passagem ID: {request.PassagemPendenteArtesp.MensagemItemId} - Fluxo: ValidadorPassagemSistemaHandler | Validar Cobrança Indevida");
     return(_cobrancaIndevidaValidator.Validate(request.PassagemPendenteArtesp));
 }
Exemplo n.º 10
0
 private MotivoNaoCompensado ValidarHorarioPassagemManual(ValidadorPassagemSistemaRequest request)
 {
     Log.Debug($"Passagem ID: {request.PassagemPendenteArtesp.MensagemItemId} - Fluxo: ValidadorPassagemSistemaHandler | Validar Horário Passagem Manual");
     return(_horarioPassagemManualValidator.Validate(request.PassagemPendenteArtesp));
 }
Exemplo n.º 11
0
 private MotivoNaoCompensado ValidarGrupoIsentoTag(ValidadorPassagemSistemaRequest request)
 {
     Log.Debug($"Passagem ID: {request.PassagemPendenteArtesp.MensagemItemId} - Fluxo: ValidadorPassagemSistemaHandler | Validar Grupo Isento Tag");
     return(_grupoIsentoTagValidator.Validate(request.PassagemPendenteArtesp));
 }
Exemplo n.º 12
0
 private MotivoNaoCompensado ValidarValorTarifa(ValidadorPassagemSistemaRequest request)
 {
     Log.Debug($"Passagem ID: {request.PassagemPendenteArtesp.MensagemItemId} - Fluxo: ValidadorPassagemSistemaHandler | Validar Valor Tarifa");
     return(_valorTarifaValidator.Validate(request.PassagemPendenteArtesp));
 }
Exemplo n.º 13
0
 private void PreencherPrimeiraPassagemManual(ValidadorPassagemSistemaRequest request)
 {
     Log.Debug($"Passagem ID: {request.PassagemPendenteArtesp.MensagemItemId} - Fluxo: ValidadorPassagemSistemaHandler |  Verificar Existência Primeira Passagem Manual");
     request.PassagemPendenteArtesp.PrimeiraPassagemManual = _primeiraPassagemManualValidator.EhPrimeiraPassagemManual(request.PassagemPendenteArtesp.Adesao.Id.TryToInt(), request.PassagemPendenteArtesp.StatusPassagem);
 }