Esempio n. 1
0
        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());
        }
Esempio n. 2
0
 public void FromStashMessageModel(StashMessageModel messageModel)
 {
     ChatId       = messageModel.ChatId;
     type         = messageModel.Type;
     content      = messageModel.Content;
     IsEncrypt    = true;
     IsDownloaded = true;
 }
Esempio n. 3
0
        public StashMessageModel ToStashMessageModel()
        {
            StashMessageModel messageModel = new StashMessageModel
            {
                ChatId  = ChatId,
                Type    = type,
                Content = content
            };

            return(messageModel);
        }
Esempio n. 4
0
        public bool IsStashExist(long chatId)
        {
            using (StashMessagesContext db = new StashMessagesContext())
            {
                StashMessageModel messageModel = db.StashMessages
                                                 .Where(message => message.ChatId == chatId)
                                                 .FirstOrDefault();

                return(messageModel != null);
            }
        }
Esempio n. 5
0
        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();
                }
            }
        }
Esempio n. 6
0
        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();
            }
        }