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