private void ChamarRequisicaoTransacaoParceiroException(GeradorPassagemReprovadaPorTransacaoParceiroExceptionEdiMessage mensagem)
        {
            Response = Handler.Execute(
                new GeradorPassagemReprovadaPorTransacaoParceiroExceptionEdiRequest
            {
                PassagemPendenteEdi       = mensagem.PassagemPendenteEdi,
                CodigoRetornoTransacaoTrf = mensagem.CodigoRetornoTransacaoTrf,
                DetalheViagemId           = mensagem.DetalheViagemId
            });

            Workers[EdiActorsEnum.ProcessadorPassagemReprovadaEdiActor].Tell(new ProcessadorPassagemReprovadaEdiMessage
            {
                PassagemReprovadaEdi = Response.PassagemReprovadaEdi
            });
        }
Beispiel #2
0
        protected void Processar <TMessageProcessar>(TMessageProcessar mensagem, Action <TMessageProcessar> action)
        {
            try
            {
                action(mensagem);
            }
            catch (EdiTransacaoException etx)
            {
                var m = new GeradorPassagemReprovadaPorTransacaoExceptionEdiMessage
                {
                    PassagemPendenteEdi       = etx.PassagemPendenteEdi,
                    CodigoRetornoTransacaoTrf = etx.CodigoRetornoTransacaoTrf
                };

                Workers[EdiActorsEnum.GeradorPassagemReprovadaEdiActor].Tell(m);
            }
            catch (EdiTransacaoParceiroException etpx)
            {
                var m = new GeradorPassagemReprovadaPorTransacaoParceiroExceptionEdiMessage
                {
                    PassagemPendenteEdi       = etpx.PassagemPendenteEdi,
                    CodigoRetornoTransacaoTrf = etpx.CodigoRetornoTransacaoTrf,
                    DetalheViagemId           = etpx.DetalheViagemId
                };

                Workers[EdiActorsEnum.GeradorPassagemReprovadaEdiActor].Tell(m);
            }
            catch (EdiDomainException etpx)
            {
                _log.Error($"Erro (EdiDomainException) ao processar Passagem TRN ({etpx.PassagemPendenteEdi.DetalheTrnId}):  {etpx.Message}");
            }
            catch (PassagemInvalidaException pie)
            {
                _log.Error($"Erro (PassagemException) ao processar Passagem TRN ({pie.ReferenceKey}):  {pie.Message}");
            }
        }