Пример #1
0
        public void UpdateNmStoreRecord(NmStoreModel newModel)
        {
            using (var dbContext = new GmailBotDbContext())
            {
                var existModel = dbContext.NmStore
                                 .Where(nmStore => nmStore.Id == newModel.Id)
                                 .Include(nmStore => nmStore.To)
                                 .Include(nmStore => nmStore.Cc)
                                 .Include(nmStore => nmStore.Bcc)
                                 .Include(nmStore => nmStore.File)
                                 .SingleOrDefault();

                if (existModel == null)
                {
                    return;
                }
                // Update
                dbContext.Entry(existModel).CurrentValues.SetValues(newModel);
                // Delete
                dbContext.To.RemoveRange(existModel.To.Except(newModel.To, new IdEqualityComparer <ToModel>()));
                dbContext.Cc.RemoveRange(existModel.Cc.Except(newModel.Cc, new IdEqualityComparer <CcModel>()));
                dbContext.Bcc.RemoveRange(existModel.Bcc.Except(newModel.Bcc, new IdEqualityComparer <BccModel>()));
                dbContext.File.RemoveRange(existModel.File.Except(newModel.File, new IdEqualityComparer <FileModel>()));
                //dbContext.SaveChanges();
                UpdateAdress(dbContext, newModel.To, existModel.To);
                UpdateAdress(dbContext, newModel.Cc, existModel.Cc);
                UpdateAdress(dbContext, newModel.Bcc, existModel.Bcc);
                UpdateFile(dbContext, newModel.File, existModel.File);
                dbContext.SaveChanges();
            }
        }
Пример #2
0
        public void UpdateUserSettingsRecord(UserSettingsModel newModel)
        {
            using (var db = new GmailBotDbContext())
            {
                var existModel = db.UserSettings
                                 .Where(userSettings => userSettings.Id == newModel.Id)
                                 .Include(userSettings => userSettings.IgnoreList)
                                 .Include(userSettings => userSettings.Blacklist)
                                 .Include(userSettings => userSettings.Whitelist)
                                 .SingleOrDefault();
                if (existModel == null)
                {
                    return;
                }
                // Update
                db.Entry(existModel).CurrentValues.SetValues(newModel);
                //Delete
                db.Ignore.RemoveRange(existModel.IgnoreList.Except(newModel.IgnoreList, new IdEqualityComparer <IgnoreModel>()));
                db.Blacklist.RemoveRange(existModel.Blacklist.Except(newModel.Blacklist, new IdEqualityComparer <BlacklistModel>()));
                db.Whitelist.RemoveRange(existModel.Whitelist.Except(newModel.Whitelist, new IdEqualityComparer <WhitelistModel>()));

                UpdateIgnoreList(db, newModel.IgnoreList, existModel.IgnoreList);
                UpdateLabelsList(db, newModel.Blacklist, existModel.Blacklist);
                UpdateLabelsList(db, newModel.Whitelist, existModel.Whitelist);
                db.SaveChanges();
            }
        }
 public void UpdateTempDataRecord(TempDataModel tempDataModel)
 {
     using (var db = new GmailBotDbContext())
     {
         db.TempData.Attach(tempDataModel);
         db.Entry(tempDataModel).State = EntityState.Modified;
         db.SaveChanges();
     }
 }
Пример #4
0
 public void UpdateUserRecord(UserModel userModel)
 {
     using (var db = new GmailBotDbContext())
     {
         db.Users.Attach(userModel);
         db.Entry(userModel).State = EntityState.Modified;
         db.SaveChanges();
     }
 }
        public TempDataModel AddNewTempData(TempDataModel tempData)
        {
            tempData.NullInspect(nameof(tempData));

            using (var db = new GmailBotDbContext())
            {
                var newModel = db.TempData.Add(tempData);
                db.SaveChanges();
                return(newModel);
            }
        }
Пример #6
0
 public NmStoreModel AddNewNmStore(int userId)
 {
     using (var db = new GmailBotDbContext())
     {
         var newModel = db.NmStore.Add(new NmStoreModel {
             UserId = userId
         });
         db.SaveChanges();
         return(newModel);
     }
 }
Пример #7
0
 public UserSettingsModel AddNewUserSettings(int userId)
 {
     using (var db = new GmailBotDbContext())
     {
         var userSettings = db.UserSettings.Add(new UserSettingsModel {
             UserId = userId
         });
         db.SaveChanges();
         return(userSettings);
     }
 }
Пример #8
0
        public UserModel AddNewUser(User user)
        {
            user.NullInspect(nameof(user));

            using (var db = new GmailBotDbContext())
            {
                var newModel = db.Users.Add(new UserModel(user));
                db.SaveChanges();
                return(newModel);
            }
        }
Пример #9
0
 public PendingUserModel UpdateRecordJoinTime(int id, DateTime time)
 {
     using (var db = new GmailBotDbContext())
     {
         var query = db.PendingUser.Find(id);
         if (query != null)
         {
             query.JoinTimeUtc = time;
             db.SaveChanges();
         }
         return(query);
     }
 }
Пример #10
0
 public PendingUserModel Queue(int userId)
 {
     using (var db = new GmailBotDbContext())
     {
         var newModel = db.PendingUser.Add(new PendingUserModel
         {
             UserId      = userId,
             JoinTimeUtc = DateTime.Now
         });
         db.SaveChanges();
         return(newModel);
     }
 }
        public void RemoveTempData(TempDataModel model)
        {
            model.NullInspect(nameof(model));

            using (var db = new GmailBotDbContext())
            {
                var entry = db.Entry(model);
                if (entry.State == EntityState.Detached)
                {
                    db.TempData.Attach(model);
                }
                db.TempData.Remove(model);
                db.SaveChanges();
            }
        }
Пример #12
0
        public void RemoveFromQueue(PendingUserModel model)
        {
            model.NullInspect(nameof(model));

            using (var db = new GmailBotDbContext())
            {
                var entry = db.Entry(model);
                if (entry.State == EntityState.Detached)
                {
                    db.PendingUser.Attach(model);
                }
                db.PendingUser.Remove(model);
                db.SaveChanges();
            }
        }
Пример #13
0
        public void RemoveUserSettingsRecord(UserSettingsModel model)
        {
            model.NullInspect(nameof(model));

            using (var db = new GmailBotDbContext())
            {
                var existModel = db.UserSettings
                                 .Where(userSettings => userSettings.Id == model.Id)
                                 .Include(userSettings => userSettings.IgnoreList)
                                 .Include(userSettings => userSettings.Blacklist)
                                 .Include(userSettings => userSettings.Whitelist)
                                 .SingleOrDefault();
                if (existModel == null)
                {
                    return;
                }

                db.UserSettings.Remove(existModel);
                db.SaveChanges();
            }
        }
Пример #14
0
        public void RemoveNmStore(NmStoreModel model)
        {
            model.NullInspect(nameof(model));

            using (var dbContext = new GmailBotDbContext())
            {
                var existModel = dbContext.NmStore
                                 .Where(nmStore => nmStore.Id == model.Id)
                                 .Include(nmStore => nmStore.To)
                                 .Include(nmStore => nmStore.Cc)
                                 .Include(nmStore => nmStore.Bcc)
                                 .Include(nmStore => nmStore.File)
                                 .SingleOrDefault();
                if (existModel == null)
                {
                    return;
                }

                dbContext.NmStore.Remove(existModel);
                dbContext.SaveChanges();
            }
        }