示例#1
0
        public void RemoveAll(DateTime date)
        {
            using (SqlEmailServiceContext configContext = new SqlEmailServiceContext(this.nameOrConnectionString))
            {
                IQueryable <EmailQueueItem> items = configContext.EmailQueueItems.Where(x => x.CreateDate > date);

                configContext.EmailQueueItems.RemoveRange(items);

                configContext.SaveChanges();
            }
        }
示例#2
0
 public void Update(string id, EmailMessage message)
 {
     using (SqlEmailServiceContext configContext = new SqlEmailServiceContext(this.nameOrConnectionString))
     {
         Guid           itemID = new Guid(id);
         EmailQueueItem item   = configContext.EmailQueueItems.FirstOrDefault(x => x.ID == itemID && x.SendDate == null);
         item.ErrorMessage = message.ErrorMessage;
         item.RetryAttempt = message.RetryAttempt;
         item.SendDate     = message.SendDate;
         configContext.SaveChanges();
     }
 }
示例#3
0
 public string Save(EmailMessage message)
 {
     using (SqlEmailServiceContext configContext = new SqlEmailServiceContext(this.nameOrConnectionString))
     {
         EmailQueueItem item = new EmailQueueItem();
         item.ID           = Guid.NewGuid().ToCombGuid();
         item.ErrorMessage = string.Empty;
         item.CreateDate   = DateTime.UtcNow;
         item.Message      = EmailMessage.Serialize(message);
         configContext.EmailQueueItems.Add(item);
         configContext.SaveChanges();
         return(item.ID.ToStringValue());
     }
 }