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(); }
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 }); }