/// <summary> /// Called when a PausedMailingMessage is redelivered to the agent (has been tried already) /// </summary> /// <param name="sender"></param> /// <param name="args"></param> void OnPausedMailing(object sender, InboundMessageArgs<PausedMailingMessage> args) { var m = args.Message; var cachePrincipal = Thread.CurrentPrincipal; //ISsoPrincipal principal; //TODO this has to make more states .. this is not a good solution WriteLine("OnPausedMailing started"); try { WriteLine("OnPausedMailing attempt to PerformMailingLogic started"); PerformMailingLogic(m.MailTrackingID, m.Application, m.Environment, m.Template, m.Recipients, m.PartialStatus, m.AuthTicket, m.UnrecordedStatus, m.UnrecordedNote); WriteLine("OnPausedMailing attempt to PerformMailingLogic Done"); } catch (ApplicationException appEx) { if (_asAgent) { YPMon.Critical("UNHANDLED_APP_EXCEPTION_ONPAUSED_MAILING", string.Concat("AgentMode ", _asAgent), appEx.Message); } else throw; } catch (Exception ex) { if (_asAgent) { YPMon.Critical("UNHANDLED_EXCEPTION_ONPAUSED_MAILING", string.Concat("AgentMode ", _asAgent), ex.Message); } else throw; } }
void PausedMailing(PausedMailingMessage m) { var dlg = OnPausedMailing; if (dlg != null) { var args = new InboundMessageArgs<PausedMailingMessage> { Message = m, Topic = this.Topic }; dlg(this, args); } }
/// <summary> /// Called when a MailingMessage is delivered to the agent (first delivery). /// </summary> void OnMailing(object sender, InboundMessageArgs<MailingMessage> args) { var m = args.Message; if (String.IsNullOrEmpty(m.AuthTicket)) { YPMon.Warn("AUTHTICKET_MISSING", String.Concat("MailingMessage arrived without an auth-ticket and has been discarded. Details: { Application: ", m.Application, ", Environment: ", m.Environment, ", EmailTemplate: ", m.Template, ", RecipientList: \"", m.Recipients.ToStrongMailEmailAddressStream(), "\" }")); } else { try { PerformMailingLogic(m.MailTrackingID, m.Application, m.Environment, m.Template, m.Recipients, PartialCreateStatus.None, m.AuthTicket, MailTrackingStatus.None, null); YPMon.Info("TMAIL_PERFORM_SM", string.Format("App: {0}, Env: {1}, Template: {2}, States: {3}", m.Application, m.Environment, m.Template, Enum.GetName(typeof(MailTrackingStatus), MailTrackingStatus.None))); var principal = Thread.CurrentPrincipal; //Thread.CurrentPrincipal = principal; } catch (ApplicationException appEx) { if (_asAgent) { YPMon.Critical("UNHANDLED_APP_EXCEPTION_ONMAILING", string.Concat("AgentMode ",_asAgent),appEx.Message); } else throw; } catch (Exception ex) { if (_asAgent) { YPMon.Critical("UNHANDLED_EXCEPTION_ONMAILING", string.Concat("AgentMode ", _asAgent), ex.Message); } else throw; } } }
void DelayedMailing(DelayedMailingMessage m) { var dlg = OnDelayedMailing; if (dlg != null) { var args = new InboundMessageArgs<DelayedMailingMessage> { Message = m, Topic = this.Topic }; dlg(this, args); } }