public ISetting <T> GetSetting <T>(string key, SettingScope scope, T defaultValue) { var user = ScopeToString(scope); var setting = _SettingsData.SavedSettings.FirstOrDefault(x => x.Key.Equals(key, StringComparison.OrdinalIgnoreCase) && user.Equals(x.User, StringComparison.OrdinalIgnoreCase)); if (setting == null) { setting = new SavedSetting { Key = key, User = user, Value = defaultValue }; _SettingsData.SavedSettings.Add(setting); } return(new Setting <T>(setting, scope)); }
public Setting(SavedSetting savedSetting, SettingScope scope) { _SavedSetting = savedSetting ?? throw new ArgumentNullException(nameof(savedSetting)); Scope = scope; }