public IDatabaseError SaveMessageToStash(IStashMessage stashMessage) { if (!stashMessage.IsEncrypt) { throw new ArgumentException("An unencrypted message cannot be stored in a stash"); } if (!stashMessage.IsDownloaded) { throw new ArgumentException("An undownloaded message cannot be stored in a stash"); } StashMessageModel messageModel = ((IStashMessageDatabaseModelConverter)stashMessage).ToStashMessageModel(); using (StashMessagesContext db = new StashMessagesContext()) { if (!CheckStashLimit(stashMessage.ChatId, db)) { return(new StashFullError()); } db.StashMessages.Add(messageModel); db.SaveChanges(); } return(new NullError()); }
public void ClearStash(long chatId) { using (StashMessagesContext db = new StashMessagesContext()) { IQueryable <StashMessageModel> messageModels = db.StashMessages .Where(message => message.ChatId == chatId); foreach (StashMessageModel messageModel in messageModels) { db.Remove(messageModel); } db.SaveChanges(); } }
public void DeleteStashMessage(long chatId, long databaseMessageId) { using (StashMessagesContext db = new StashMessagesContext()) { StashMessageModel messageModel = db.StashMessages .Where(message => (message.ChatId == chatId) && (message.Id == databaseMessageId)) .FirstOrDefault(); if (messageModel != null) { db.Remove(messageModel); db.SaveChanges(); } } }
public void SaveMessageToStash(IStashMessage stashMessage) { if (!stashMessage.IsEncrypt) { throw new ArgumentException("An unencrypted message cannot be stored in a stash"); } if (!stashMessage.IsDownloaded) { throw new ArgumentException("An undownloaded message cannot be stored in a stash"); } StashMessageModel messageModel = ((IStashMessageDatabaseModelConverter)stashMessage).ToStashMessageModel(); using (StashMessagesContext db = new StashMessagesContext()) { db.StashMessages.Add(messageModel); db.SaveChanges(); } }