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
						};
			}
示例#4
0
            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);
		}
示例#6
0
        public void Process(EmailProcessEventArgs e)
        {
            var package = Package.Extract(e);

            e.IsSuccessful = package != null && Process(package);
        }