Exemplo n.º 1
0
        private MotivoNaoCompensado ValidarTagBloqueada(ValidadorPassagemRequest request)
        {
            _tagPracaBloqueadoLadoMensageriaValidator.Init(request.PassagemPendenteArtesp);

            if (_tagPracaBloqueadoLadoMensageriaValidator.ValidateSituacaoTag())
            {
                return(MotivoNaoCompensado.TagBloqueado);
            }

            return(MotivoNaoCompensado.SemMotivoNaoCompensado);
        }
Exemplo n.º 2
0
        /// <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);
        }