示例#1
0
 public ValidadorPassagemSistemaArtespHandler()
 {
     _validator = new GenericValidator <PassagemPendenteArtesp>();
     _tagPracaBloqueadoLadoMensageriaValidator = new TagPracaBloqueadoLadoMensageriaValidator();
     _passagemForaDoPrazoValidator             = new PassagemForaDoPrazoValidator();
     _reenvioInvalidoValidator = new ReenvioInvalidoValidator();
     _passagemRepetidaPorPassagemConveniadoValidator = new PassagemRepetidaPorPassagemConveniadoValidator();
     _cobrancaIndevidaValidator          = new CobrancaIndevidaValidator();
     _tagGrupoPracaValidator             = new TagGrupoPracaValidator();
     _horarioPassagemManualValidator     = new HorarioPassagemManualValidator();
     _horarioPassagemAutomaticaValidator = new HorarioPassagemAutomaticaValidator();
     _grupoIsentoTagValidator            = new GrupoIsentoTagValidator();
     _valorTarifaValidator            = new ValorTarifaValidator();
     _saldoValidator                  = new SaldoValidator();
     _primeiraPassagemManualValidator = new PrimeiraPassagemManualValidator();
     _transacaoRepetidaValidator      = new TransacaoRepetidaValidator();
 }
示例#2
0
        public ValidadorPassagemSistemaEdiActorResponse Execute(ValidadorPassagemSistemaEdiActorRequest request)
        {
            #region Validar transacao repetida
            _validator = new TransacaoRepetidaEdiValidator(request.PassagemPendenteEdi);
            _validator.Validate();
            #endregion


            var possuiTransacaoAprovadaManualmente = _validatorRuleSet.Validate(request.PassagemPendenteEdi, PassagemPendenteEdiValidatorEnum.PossuiTransacaoAprovadaManualmente.ToString());

            if (!possuiTransacaoAprovadaManualmente)
            {
                #region HorarioDePassagemEIncompativel
                Log.Info($"Passagem ID: {request.PassagemPendenteEdi.DetalheTrnId} - Fluxo: ValidadorPassagemSistemaEdiHandler | HorarioDePassagemEIncompativel");
                _validator = new HorarioPassagemIncompativelValidator(_dataSourceConectSysReadOnly, _dataSourceFallBack, request.PassagemPendenteEdi);
                _validator.Validate();
                #endregion

                #region PassagemEvasiva
                Log.Info($"Passagem ID: {request.PassagemPendenteEdi.DetalheTrnId} - Fluxo: ValidadorPassagemSistemaEdiHandler | PassagemEvasiva");
                _validator = new PassagemEvasivaValidator(request.PassagemPendenteEdi);
                _validator.Validate();
                #endregion
            }

            #region ValidarTransacaoConfirmacao  ( CATCobradaNaoCompativel - PassagemForaDoPeriodo )
            Log.Info($"Passagem DetalheTrnId: {request.PassagemPendenteEdi.DetalheTrnId} - Fluxo: ValidadorPassagemSistemaEdiHandler | TransacaoConfirmacaoValidator");
            _validator = new TransacaoConfirmacaoValidator(request.PassagemPendenteEdi);
            _validator.Validate();
            #endregion

            #region PrimeiraPassagemManualValidator
            Log.Info($"Passagem DetalheTrnId: {request.PassagemPendenteEdi.DetalheTrnId} - Fluxo: ValidadorPassagemSistemaEdiHandler | PrimeiraPassagemManualValidator");
            var primeiraPassagemManualValidator = new PrimeiraPassagemManualValidator();
            request.PassagemPendenteEdi.PossuiEventoPrimeiraPassagemManual = primeiraPassagemManualValidator.EhPrimeiraPassagemManual(request.PassagemPendenteEdi.Adesao.Id.TryToInt(), request.PassagemPendenteEdi.StatusPassagem);
            #endregion

            return(new ValidadorPassagemSistemaEdiActorResponse {
                PassagemPendenteEdi = request.PassagemPendenteEdi
            });
        }