示例#1
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
            });
        }
示例#2
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);
 }