public SettingGetter ReadLocalSetting(string settingName) { if (!_customSettingCache.ContainsKey(settingName)) { var p = new ProgramSetting { Name = settingName }; var getter = new SettingGetter(p); _customSettingCache.Add(settingName, getter); } return _customSettingCache[settingName]; }
public SettingGetter GetSetting(string valueName) { ProgramSetting setting; try { setting = _workspace.Single<ProgramSetting>(x => x.Name == valueName); } catch (Exception) { _workspace.Delete<ProgramSetting>(x => x.Name == valueName); _workspace.CommitChanges(); setting = null; } if (_settingCache.ContainsKey(valueName)) { if (setting == null) setting = _settingCache[valueName]; else _settingCache.Remove(valueName); } if (setting == null) { setting = new ProgramSetting { Name = valueName }; _settingCache.Add(valueName, setting); _workspace.Add(setting); _workspace.CommitChanges(); } return new SettingGetter(setting); }
public SettingGetter(ProgramSetting programSetting) { _programSetting = programSetting; }