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 FromStashMessageModel(StashMessageModel messageModel) { ChatId = messageModel.ChatId; type = messageModel.Type; content = messageModel.Content; IsEncrypt = true; IsDownloaded = true; }
public StashMessageModel ToStashMessageModel() { StashMessageModel messageModel = new StashMessageModel { ChatId = ChatId, Type = type, Content = content }; return(messageModel); }
public bool IsStashExist(long chatId) { using (StashMessagesContext db = new StashMessagesContext()) { StashMessageModel messageModel = db.StashMessages .Where(message => message.ChatId == chatId) .FirstOrDefault(); return(messageModel != null); } }
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(); } }