Exemplo n.º 1
0
        public bool DeleteSetting(int id)
        {
            try
            {
                using (var db = new ScriptRunnerDbEntities())
                {
                    var item     = db.SettingHeaders.FirstOrDefault(t => t.Id == id);
                    var settings = db.Settings.Where(t => t.HeaderId == item.Id).ToList();
                    foreach (var s in settings)
                    {
                        db.Settings.Remove(s);
                        db.SaveChanges();
                    }

                    db.SettingHeaders.Remove(item);
                    db.SaveChanges();
                }

                return(true);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Exemplo n.º 2
0
        public bool SaveDbSettings(int settingId, string serverName, bool integratedSecurity, string username, string password, string settingName, List <DatabaseViewModel> selectedDbs)
        {
            using (var db = new ScriptRunnerDbEntities())
            {
                try
                {
                    if (settingId == 0)
                    {
                        var settingHeading = new SettingHeader()
                        {
                            IntegratedSecurity = integratedSecurity,
                            Name     = settingName,
                            Password = password,
                            Username = username,
                            Server   = serverName,
                        };

                        db.SettingHeaders.Add(settingHeading);
                        db.SaveChanges();

                        selectedDbs.ForEach(d =>
                        {
                            var setting = new Setting()
                            {
                                DbName   = d.Name,
                                HeaderId = settingHeading.Id
                            };

                            db.Settings.Add(setting);
                            db.SaveChanges();
                        });
                    }
                    else
                    {
                        var settingHeader = db.SettingHeaders.FirstOrDefault(t => t.Id == settingId);
                        settingHeader.IntegratedSecurity = integratedSecurity;
                        settingHeader.Name     = settingName;
                        settingHeader.Password = password;
                        settingHeader.Username = username;
                        settingHeader.Server   = serverName;

                        db.SaveChanges();


                        var savedSettings = db.Settings.Where(t => t.HeaderId == settingId).ToList();

                        //newly added Settings
                        var newItems = selectedDbs.Where(t => t.Id == 0).ToList();
                        newItems.ForEach(d =>
                        {
                            var setting = new Setting()
                            {
                                DbName   = d.Name,
                                HeaderId = settingHeader.Id
                            };

                            db.Settings.Add(setting);
                            db.SaveChanges();
                        });

                        //DeletedDbs
                        var deletedDbs = (from e in savedSettings where !selectedDbs.Any(t => t.Id == e.Id) select e).ToList();
                        foreach (var item in deletedDbs)
                        {
                            db.Settings.Remove(item);
                            db.SaveChanges();
                        }
                    }


                    return(true);
                }
                catch (Exception ex)
                {
                    return(false);
                }
            }
        }