private MotivoNaoCompensado ValidarTagBloqueada(ValidadorPassagemRequest request) { _tagPracaBloqueadoLadoMensageriaValidator.Init(request.PassagemPendenteArtesp); if (_tagPracaBloqueadoLadoMensageriaValidator.ValidateSituacaoTag()) { return(MotivoNaoCompensado.TagBloqueado); } return(MotivoNaoCompensado.SemMotivoNaoCompensado); }
/// <summary> /// Executa o processamento de Passagens /// </summary> /// <param name="request"></param> /// <returns></returns> public ValidadorPassagemResponse Execute(ValidadorPassagemRequest request) { var passagemInvalida = false; var motivoNaoCompensado = MotivoNaoCompensado.SemMotivoNaoCompensado; Response = new ValidadorPassagemResponse { PassagemPendenteArtesp = request.PassagemPendenteArtesp, }; if (motivoNaoCompensado == MotivoNaoCompensado.SemMotivoNaoCompensado) { motivoNaoCompensado = ValidarExistenciaTag(out passagemInvalida); } if (motivoNaoCompensado == MotivoNaoCompensado.SemMotivoNaoCompensado) { motivoNaoCompensado = ValidarSePossuiAdesao(); } if (motivoNaoCompensado == MotivoNaoCompensado.SemMotivoNaoCompensado) { motivoNaoCompensado = ValidarConcessionariaConectSys(out passagemInvalida); } if (motivoNaoCompensado == MotivoNaoCompensado.SemMotivoNaoCompensado) { motivoNaoCompensado = ValidarPraca(); } if (motivoNaoCompensado == MotivoNaoCompensado.SemMotivoNaoCompensado) { motivoNaoCompensado = ValidarPista(); } if (motivoNaoCompensado == MotivoNaoCompensado.SemMotivoNaoCompensado) { motivoNaoCompensado = ValidarCategoriaPassagem(); } if (motivoNaoCompensado == MotivoNaoCompensado.SemMotivoNaoCompensado) { motivoNaoCompensado = ValidarCategoriaUtilizada(); } if (motivoNaoCompensado == MotivoNaoCompensado.SemMotivoNaoCompensado) { motivoNaoCompensado = ValidarPlaca(); } // validações abaixo consomem cache ou base de dados if (motivoNaoCompensado == MotivoNaoCompensado.SemMotivoNaoCompensado) { motivoNaoCompensado = ValidarOsa(request.PassagemPendenteArtesp.Mensagem.OsaId); } if (motivoNaoCompensado == MotivoNaoCompensado.SemMotivoNaoCompensado) { motivoNaoCompensado = ValidarHora(request.PassagemPendenteArtesp.DataPassagem, request.PassagemPendenteArtesp.DataCriacao); } Response.MotivoNaoCompensado = motivoNaoCompensado; Response.PassagemInvalida = passagemInvalida; return(Response); }