protected override void ChamarRequisicao(ValidadorPassagemAceiteManualReenvioArtespMessage mensagem) { try { Response = Handler.Execute(new ValidadorPassagemAceiteManualReenvioRequest { PassagemPendenteArtesp = mensagem.PassagemPendenteArtesp }); } catch (Exception ex) { if (ex.GetType() == typeof(Exception)) { throw new PassagemInvalidaException(mensagem.PassagemPendenteArtesp.MensagemItemId, ex.Message, ex); } throw; } if (Response.MotivoNaoCompensado == MotivoNaoCompensado.SemMotivoNaoCompensado) { Workers[ArtespActorsEnum.ValidadorPassagemSistemaAceiteManualReenvioActor].Tell(new ValidadorPassagemSistemaAceiteManualReenvioArtespMessage { PassagemPendenteArtesp = Response.PassagemPendenteArtesp }); } else { var m = new GeradorPassagemReprovadaArtespMessage { PassagemPendenteArtesp = Response.PassagemPendenteArtesp, MotivoNaoCompensado = Response.MotivoNaoCompensado }; Workers[ArtespActorsEnum.GeradorPassagemReprovadaActor].Tell(m); } }
protected void Processar <TMessageProcessar>(TMessageProcessar mensagem, Action <TMessageProcessar> action) { try { action(mensagem); } catch (PassagemDivergenciaCategoriaException ex) { var m = new GeradorPassagemReprovadaDivergenciaCategoriaArtespArtespMessage { PassagemPendenteArtesp = ex.PassagemPendenteArtesp, MotivoNaoCompensado = ex.MotivoNaoCompensado }; Workers[ArtespActorsEnum.GeradorPassagemReprovadaActor].Tell(m); //var mensagemItemId = ex.PassagemPendenteArtesp.MensagemItemId; //var metadata = new ActorMetaData($"GeradorPassagemReprovadaArtespActor{mensagemItemId}", $"akka://TransacaoArtesp/user/coordinator/GeradorPassagemReprovadaActor_{mensagemItemId}"); //var actorRef = Context.ActorOf(Props.Create(() => new GeradorPassagemReprovadaArtespActor()), metadata.Name); //actorRef.Tell(m); } catch (PassagemReprovadaException ex) { var m = new GeradorPassagemReprovadaArtespMessage { PassagemPendenteArtesp = ex.PassagemPendenteArtesp, MotivoNaoCompensado = ex.MotivoNaoCompensado }; Workers[ArtespActorsEnum.GeradorPassagemReprovadaActor].Tell(m); //var mensagemItemId = ex.PassagemPendenteArtesp.MensagemItemId; //var metadata = new ActorMetaData($"GeradorPassagemReprovadaArtespActor{mensagemItemId}", $"akka://TransacaoArtesp/user/coordinator/GeradorPassagemReprovadaActor_{mensagemItemId}"); //var actorRef = Context.ActorOf(Props.Create(() => new GeradorPassagemReprovadaArtespActor()), metadata.Name); //actorRef.Tell(m); } catch (PassagemPendenteReprovadaException ex) { var m = new GeradorPassagemPendenteReprovadaArtespMessage { PassagemPendenteArtesp = ex.PassagemPendenteArtesp, MotivoNaoCompensado = ex.MotivoNaoCompensado }; Workers[ArtespActorsEnum.GeradorPassagemReprovadaActor].Tell(m); //var mensagemItemId = ex.PassagemPendenteArtesp.MensagemItemId; //var metadata = new ActorMetaData($"GeradorPassagemReprovadaArtespActor{mensagemItemId}", $"akka://TransacaoArtesp/user/coordinator/GeradorPassagemReprovadaActor_{mensagemItemId}"); //var actorRef = Context.ActorOf(Props.Create(() => new GeradorPassagemReprovadaArtespActor()), metadata.Name); //actorRef.Tell(m); } catch (TransacaoPassagemExistenteException ex) { var m = new GeradorPassagemAprovadaComTransacaoExistenteArtespMessage { TransacaoId = ex.TransacaoId, MensagemItemId = ex.MensagemItemId, CodigoProtocoloArtesp = ex.CodigoProtocoloArtesp }; Workers[ArtespActorsEnum.GeradorPassagemReprovadaActor].Tell(m); //var mensagemItemId = ex.MensagemItemId; //var metadata = new ActorMetaData($"GeradorPassagemReprovadaArtespActor{mensagemItemId}", $"akka://TransacaoArtesp/user/coordinator/GeradorPassagemReprovadaActor_{mensagemItemId}"); //var actorRef = Context.ActorOf(Props.Create(() => new GeradorPassagemReprovadaArtespActor()), metadata.Name); //actorRef.Tell(m); } catch (TransacaoReprovadaExistenteException ex) { var m = new GeradorPassagemReprovadaTransacaoReprovadaExistenteArtespMessage { PassagemPendenteArtesp = ex.PassagemPendenteArtesp, TransacaoRecusada = ex.TransacaoRecusada }; Workers[ArtespActorsEnum.GeradorPassagemReprovadaActor].Tell(m); //var mensagemItemId = ex.PassagemPendenteArtesp.MensagemItemId; //var metadata = new ActorMetaData($"GeradorPassagemReprovadaArtespActor{mensagemItemId}", $"akka://TransacaoArtesp/user/coordinator/GeradorPassagemReprovadaActor_{mensagemItemId}"); //var actorRef = Context.ActorOf(Props.Create(() => new GeradorPassagemReprovadaArtespActor()),metadata.Name); //actorRef.Tell(m); } catch (PassagemInvalidaException ex) { _log.Warn($"Passagem Inválida {ex.ReferenceKey} - {ex.Message} ", ex.InnerException); var m = new GeradorPassagemInvalidaArtespMessage { PassagemPendenteArtesp = new PassagemPendenteArtesp { MensagemItemId = ex.ReferenceKey } }; Workers[ArtespActorsEnum.GeradorPassagemInvalidaActor].Tell(m); } catch (PassagemInvalidaNoSysException tpcpx) { var m = new GeradorPassagemProcessadaMensageriaMessage( tpcpx.ResultadoPassagem, tpcpx.PassagemPendenteArtesp, tpcpx.TransacaoIdOriginal, tpcpx.ValorRepasse, tpcpx.DataPagamento, tpcpx.MotivoNaoCompensado, tpcpx.PassagemId); Workers[ArtespActorsEnum.ProcessadorPassagemAprovadaActor].Tell(m); } catch (TransacaoParceiroException tpx) { var m = new GeradorPassagemReprovadaTransacaParceiroArtespMessage { DetalheViagemId = tpx.DetalheViagemId, MotivoNaoCompensado = tpx.MotivoNaoCompensado, PassagemPendenteArtesp = tpx.PassagemPendente }; Workers[ArtespActorsEnum.GeradorPassagemReprovadaActor].Tell(m); } catch (Exception ex) { _log.Fatal(ex.Message, ex); } }