private void ProcessActivity() { var result = EmailProcessorManager.Handlers.GetEnumerator(); var args = new EmailProcessEventArgs(_graph, _account, _activityMessage); while (result.MoveNext()) { var processor = result.Current; if (processor != null) { try { processor.Process(args); } catch (Exception ex) { args.IsSuccessful = false; _activityMessage.Exception += ex.Message; _activityMessage.Exception += Environment.NewLine + AddUIErrorsInfo(ex); } } } if (_email != null && _email.Exception != null) { _activityMessage.Exception = _email.Exception.Message; } //else if (!args.IsSuccessful && string.IsNullOrEmpty(_activityMessage.Exception)) // _activityMessage.Exception = Messages.NotPossibleProcessMessage; if (_activityMessage.Exception != null) { throw new PXException(_activityMessage.Exception); } }
private void ProcessActivity() { var result = EmailProcessorManager.Handlers.GetEnumerator(); var args = new EmailProcessEventArgs(_graph, _account, _message); while (result.MoveNext()) { var processor = result.Current; if (processor != null) { try { processor.Process(args); } catch (Exception ex) { args.IsSuccessful = false; _message.Exception = ex.Message; _message.Exception += Environment.NewLine + AddUIErrorsInfo(ex); break; } } } if (!args.IsSuccessful && string.IsNullOrEmpty(_message.Exception)) { _message.Exception = "It's not possible to proccess this message"; } }
public static Package Extract(EmailProcessEventArgs e) { var graph = e.Graph; var account = e.Account; var message = e.Message; string address; string description; if (!Mailbox.TryParse(message.MailFrom, out address, out description) || address == null || address.Trim().Length == 0) { return null; } return new Package(graph, account, message) { _address = address, _description = description, _isProcessed = e.IsSuccessful }; }
public static Package Extract(EmailProcessEventArgs e) { var graph = e.Graph; var account = e.Account; var message = e.Message; string address; string description; if (!Mailbox.TryParse(message.MailFrom, out address, out description) || address == null || address.Trim().Length == 0) { return(null); } return(new Package(graph, account, message) { _address = address, _description = description, _isProcessed = e.IsSuccessful }); }
public void Process(EmailProcessEventArgs e) { var package = Package.Extract(e); e.IsSuccessful = package != null && Process(package); }