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(); } }
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(); } }
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()); } }