MWS.Core.EmailQueueManager.ProcessQueue C# (CSharp) Method

ProcessQueue() public method

Get emails from EmailService and calle SendMail to send emails
public ProcessQueue ( EmailServerConfig cfg ) : void
cfg EmailServerConfig
return void
        public void ProcessQueue(EmailServerConfig cfg)
        {
            exceptionStack = new Stack<Exception>();
            sentStack = new Stack<Email>();
            //
            var emaillist = serv.GetEmailsToSend();
            foreach (var e in emaillist)
            {
                SendEmail(e, cfg);
            }
            db.Commit();
        }

Usage Example

Example #1
0
 public void Integration_Email_MWS_ProcessQueue_send_one_email()
 {
     // Arrange
     var cfg = ConfigurationManager.GetSection("MacheteWindowsService") as MacheteWindowsServiceConfiguration;
     var eServ = frb.ToServEmail();
     var em = new EmailQueueManager(eServ, frb.ToUOW());
     em.ProcessQueue(cfg.Instances[0].EmailQueue.EmailServer); // clear queue
     frb.AddEmail(status: Email.iReadyToSend);
     var mgr = new EmailQueueManager(eServ, frb.ToUOW());
     // Act
     mgr.ProcessQueue(cfg.Instances[0].EmailQueue.EmailServer);
     // Assert
     Assert.AreEqual(1, mgr.sentStack.Count);
     Assert.AreEqual(0, mgr.exceptionStack.Count);
 }
All Usage Examples Of MWS.Core.EmailQueueManager::ProcessQueue