private void Queue_AddedMail(object sender, MailAddedMailEventArgs e) { if (_mailEventReceiver != null) { _mailEventReceiver.OnAddedMail(sender, e); } }
public virtual void OnAddedMail(object sender, MailAddedMailEventArgs e) { if (AddedMail != null) { AddedMail(this, e); } }
/// <summary> /// Add the email to the queue /// </summary> /// <param name="mail"></param> /// <remarks></remarks> public bool Enqueue(Email mail, ref string msg) { if (this._queueSize > this._count) { try { //process adding mail event MailAddingMailEventArgs addingMailArgs = new MailAddingMailEventArgs(); addingMailArgs.Email = mail; OnAddingMail(this, addingMailArgs); this._count = MailQueueDB.SaveMailToQueue(this._connectionString, mail); //process added mail event MailAddedMailEventArgs addedMailArgs = new MailAddedMailEventArgs(); addedMailArgs.Email = mail; OnAddedMail(this, addedMailArgs); } catch (SqlException ex) { msg = ex.Message; //Process Mail Error Event MailErrorEventArgs args = new MailErrorEventArgs(); args.Exception = ex; args.ErrorType = MailErrorType.Enqueue; OnMailError(this, args); return(false); } return(true); } else { //process Exceed Queue Max Size event MailExceedQueueSizeEventArgs args = new MailExceedQueueSizeEventArgs(); args.QueueMaxSize = this._queueSize; OnExceedQueueSize(this, args); msg = "Mail Queue is full, please try later."; return(false); } }