Пример #1
0
        public IList <PassagemAprovadaParkMessage> Execute(ObterMensagensAprovadasParkRequest args)
        {
            try
            {
                var nomeQueue = ServiceBusUtil.ObterNome(TypeTransacao.AprovadaPark);

                var transacoesQuery = new ObterPassagensAprovadasParkQuery(ServiceBusDataSource, true, ServiceBusUtil.BatchSize, nomeQueue);

                var transacoes = transacoesQuery.Execute();
                return(transacoes);
            }
            catch (System.Exception ex)
            {
                Log.Error(string.Format(LeitorPassagensProcessadasBatchResource.Error, ex.Message));
            }

            return(new List <PassagemAprovadaParkMessage>());
        }
        /// <summary>
        /// Cria um handler gerador de passagens pendentes de processamento.
        /// </summary>
        public GeradorPassagemPendenteEdiHandler()
        {
            try
            {
                var dataProvider = new DbConnectionDataSourceProvider();

                _readOnlyDataSource   = dataProvider.GetDataSource(DbConnectionDataSourceType.ConectSysReadOnly);
                _dataSource           = dataProvider.GetDataSource(DbConnectionDataSourceType.ConectSys);
                _serviceBusDataSource = new ServiceBusDataSourceBase("TransacoesServiceBus", ServiceBusUtil.FactoriesCount);

                var topicNamePadrao = ServiceBusUtil.ObterNomeTopicPassagem();
                _passagemPendenteTopicCommand = new PassagemPendenteTopicCommand(_serviceBusDataSource, true, topicNamePadrao);
            }
            catch (Exception ex)
            {
                Log.Error(ex.Message, ex);
            }
        }
Пример #3
0
        /// <summary>
        /// Envia passagens inválidas para o barramento...
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        public EndResponse Execute(ProcessadorPassagemInvalidaRequest request)
        {
            var topicName       = ServiceBusUtil.ObterNomeTopicInvalida(EnumInfra.ProtocolosEnum.PassagensInvalidasArtesp);
            var passagemCommand = new PassagemInvalidaArtespTopicCommand(_dataSource, true, topicName);

            var dto = new PassagemInvalidaArtespDto
            {
                MensagemItemId       = request.PassagemInvalidaArtesp.MensagemItemId,
                QuantidadeTentativas = request.PassagemInvalidaArtesp.QtdTentativas
            };
            var mensagem = Mapper.Map <PassagemInvalidaMessage>(dto);

            //Enviando para o barramento...
            passagemCommand.Execute(new List <PassagemInvalidaMessage> {
                mensagem
            });

            return(new EndResponse());
        }
Пример #4
0
        private void EnviarParaBarramento(PassagemAprovadaArtespDto passagemAprovadaArtespDto, long mensagemItemId)
        {
            var topicName       = ServiceBusUtil.ObterNomeTopicAprovada(EnumInfra.ProtocolosEnum.PassagensAprovadasArtesp);
            var passagemCommand = new PassagemAprovadaArtespTopicCommand(_dataSource, true, topicName);


            var mensagem = Mapper.Map <PassagemAprovadaMessage>(passagemAprovadaArtespDto);

            Log.Info($"Passagem ID: {mensagemItemId} | Passagem Aprovada.");
            passagemCommand.Execute(new List <PassagemAprovadaMessage> {
                mensagem
            }, (p) =>
            {
                var properties =
                    new Dictionary <string, object> {
                    { "MensagemItemId", p.PassagemProcessada.MensagemItemId }
                };
                return(properties);
            });
            Log.Info($"Passagem ID: {mensagemItemId} | Passagem Aprovada - Barramento.");
        }
        private bool EnviarDetalhesPassagemPendenteEstacionamentoPendentes(IList <PassagemPendenteParkMessage> detalhesPendentes)
        {
            try
            {
                var topicName = ServiceBusUtil.ObterNomeTopicPassagem();
                Log.Info(string.Format(GeradorPassagemPendenteParkResource.EnviandoPassagem, detalhesPendentes.Count, topicName));

                foreach (var passagemPendenteParkMessage in detalhesPendentes)
                {
                    Log.Info($"Park - RegistroTransacaoId: {passagemPendenteParkMessage.RegistroTransacaoId} - Json: {JsonConvert.SerializeObject(passagemPendenteParkMessage)}");
                }
                _passagemPendenteTopicCommand.Execute(detalhesPendentes, topicName, $"sb_{topicName}");

                Log.Info(string.Format(GeradorPassagemPendenteParkResource.SucessoEnvio, topicName, detalhesPendentes.Count));
                return(true);
            }
            catch (Exception e)
            {
                Log.Error(string.Format(GeradorPassagemPendenteParkResource.Error, e.Message), e);
                return(false);
            }
        }