public ProgramSetting GetSetting(string valueName)
        {
            var setting = Workspace.Single <ProgramSettingValue>(x => x.Name == valueName);

            if (_settingCache.ContainsKey(valueName))
            {
                if (setting == null)
                {
                    setting = _settingCache[valueName];
                }
                else
                {
                    _settingCache.Remove(valueName);
                }
            }
            if (setting == null)
            {
                setting = new ProgramSettingValue {
                    Name = valueName
                };
                _settingCache.Add(valueName, setting);
                Workspace.Add(setting);
            }
            return(new ProgramSetting(setting));
        }
 public ProgramSetting ReadLocalSetting(string settingName)
 {
     if (!_customSettingCache.ContainsKey(settingName))
     {
         var p = new ProgramSettingValue {
             Name = settingName
         };
         var getter = new ProgramSetting(p);
         _customSettingCache.Add(settingName, getter);
     }
     return(_customSettingCache[settingName]);
 }
 public ProgramSetting(ProgramSettingValue programSetting)
 {
     _programSetting = programSetting;
 }