コード例 #1
0
        public static string Read(SettingHeader setting)
        {
            StringBuilder sb = new StringBuilder(2048);

            GetPrivateProfileString(GetHeader(setting), "VALUE", "", sb, 2048, Setting.SettingPath);
            return(sb.ToString());
        }
コード例 #2
0
        private static string GetHeader(SettingHeader setting)
        {
            string settingHeader = "";

            switch (setting)
            {
            case SettingHeader.ConcurrentCount:
                settingHeader = "COUNCURRENT_COUNT";
                break;

            case SettingHeader.DomainSaveSetting:
                settingHeader = "DOMAIN_SAVE_SETTING";
                break;

            case SettingHeader.SavePath:
                settingHeader = "DOMAIN_SAVE_PATH";
                break;
            }
            return(settingHeader);
        }
コード例 #3
0
        public TenantSetting GetTenantSetting(Guid tenantSettingId, bool readOnly = true)
        {
            TenantSetting tenantSetting;

            if (readOnly)
            {
                tenantSetting = PanacheLegalFoundationContext.TenantSettings
                                .Where(t => t.Id == tenantSettingId)
                                .AsNoTracking()
                                .SingleOrDefault();
            }
            else
            {
                tenantSetting = PanacheLegalFoundationContext.TenantSettings
                                .Where(t => t.Id == tenantSettingId)
                                .SingleOrDefault();
            }

            if (tenantSetting == null)
            {
                SettingHeader settingHeader = PanacheLegalFoundationContext.SettingHeaders
                                              .Where(h => h.Id == tenantSettingId)
                                              .Where(h => h.SettingType == SettingTypes.SYSTEM)
                                              .AsNoTracking()
                                              .SingleOrDefault();

                if (settingHeader != null)
                {
                    return(new TenantSetting()
                    {
                        SettingHeaderId = settingHeader.Id,
                        Status = StatusTypes.Open,
                        Value = settingHeader.DefaultValue,
                        Name = settingHeader.Name,
                        Description = settingHeader.Description
                    });
                }
            }

            return(tenantSetting);
        }
コード例 #4
0
        public UserSetting GetUserSetting(Guid userSettingId, Guid userId, bool readOnly = true)
        {
            UserSetting userSetting;

            if (readOnly)
            {
                userSetting = PanacheLegalFoundationContext.UserSettings
                              .Where(u => u.Id == userSettingId)
                              .Where(u => u.UserId == userId)
                              .AsNoTracking()
                              .SingleOrDefault();
            }
            else
            {
                userSetting = PanacheLegalFoundationContext.UserSettings
                              .Where(u => u.Id == userSettingId)
                              .Where(u => u.UserId == userId)
                              .SingleOrDefault();
            }

            if (userSetting == null)
            {
                SettingHeader settingHeader = PanacheLegalFoundationContext.SettingHeaders
                                              .Where(h => h.Id == userSettingId)
                                              .Where(h => h.SettingType == SettingTypes.USER)
                                              .AsNoTracking()
                                              .SingleOrDefault();

                if (settingHeader != null)
                {
                    return(new UserSetting()
                    {
                        SettingHeaderId = settingHeader.Id,
                        Status = StatusTypes.Open,
                        Value = settingHeader.Value
                    });
                }
            }

            return(userSetting);
        }
コード例 #5
0
        public TenantSetting GetTenantSetting(string tenantSettingName, bool readOnly = true)
        {
            TenantSetting tenantSetting = null;

            SettingHeader settingHeader = PanacheLegalFoundationContext.SettingHeaders
                                          .Where(h => h.Name == tenantSettingName)
                                          .Where(h => h.SettingType == SettingTypes.SYSTEM)
                                          .Include(t => t.TenantSettings)
                                          .FirstOrDefault();

            if (settingHeader != null)
            {
                tenantSetting = settingHeader.TenantSettings.FirstOrDefault();

                if (tenantSetting == null)
                {
                    tenantSetting = new TenantSetting()
                    {
                        SettingHeaderId = settingHeader.Id,
                        Status          = StatusTypes.Open,
                        Value           = settingHeader.DefaultValue,
                        Name            = settingHeader.Name,
                        Description     = settingHeader.Description
                    };
                }
                else
                {
                    if (readOnly)
                    {
                        return(PanacheLegalFoundationContext.TenantSettings.Where(t => t.Id == tenantSetting.Id).AsNoTracking().FirstOrDefault());
                    }

                    return(PanacheLegalFoundationContext.TenantSettings.Where(t => t.Id == tenantSetting.Id).FirstOrDefault());
                }
            }

            return(tenantSetting);
        }
コード例 #6
0
        public UserSetting GetUserSetting(string userSettingName, Guid userId, bool readOnly = true)
        {
            UserSetting userSetting = null;

            SettingHeader settingHeader = PanacheLegalFoundationContext.SettingHeaders
                                          .Where(h => h.Name == userSettingName)
                                          .Where(h => h.SettingType == SettingTypes.USER)
                                          .Include(h => h.UserSettings)
                                          .FirstOrDefault();

            if (settingHeader != null)
            {
                userSetting = settingHeader.UserSettings.Where(u => u.UserId == userId).FirstOrDefault();

                if (userSetting == null)
                {
                    userSetting = new UserSetting()
                    {
                        SettingHeaderId = settingHeader.Id,
                        Status          = StatusTypes.Open,
                        Value           = settingHeader.Value
                    };
                }
                else
                {
                    if (readOnly)
                    {
                        return(PanacheLegalFoundationContext.UserSettings.Where(u => u.Id == userSetting.Id).AsNoTracking().FirstOrDefault());
                    }

                    return(PanacheLegalFoundationContext.UserSettings.Where(u => u.Id == userSetting.Id).FirstOrDefault());
                }
            }

            return(userSetting);
        }
コード例 #7
0
 public static void Write(SettingHeader setting, string value)
 {
     WritePrivateProfileString(GetHeader(setting), "VALUE", value, Setting.SettingPath);
 }
コード例 #8
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);
                }
            }
        }