예제 #1
0
 private void Queue_DequeueMail(object sender, MailDequeueMailEventArgs e)
 {
     if (_mailEventReceiver != null)
     {
         _mailEventReceiver.OnDequeueMail(sender, e);
     }
 }
예제 #2
0
 public virtual void OnDequeueMail(object sender, MailDequeueMailEventArgs e)
 {
     if (DequeueMail != null)
     {
         DequeueMail(this, e);
     }
 }
예제 #3
0
        /// <summary>
        /// Get an email from the queue
        /// </summary>
        /// <returns></returns>
        /// <remarks></remarks>
        public List <Email> Dequeue()
        {
            List <Email> mailList = new List <Email>();

            try
            {
                mailList = MailQueueDB.GetMailsFromQueue(this._connectionString);
            }
            catch (SqlException ex)
            {
                //Process Mail Error event
                MailErrorEventArgs errorArgs = new MailErrorEventArgs();
                errorArgs.Exception = ex;
                errorArgs.ErrorType = MailErrorType.Dequeue;
                OnMailError(this, errorArgs);
            }

            MailDequeueMailEventArgs args = new MailDequeueMailEventArgs();

            args.EmailList = mailList;
            //Process the Dequeue Mail event
            OnDequeueMail(this, args);
            return(mailList);
        }