internal void SetProp(string name, Guid value) { var result = new StoreSetting(); result.StoreId = _Store.Id; result.SettingName = name; result.ValueAsGuid = value; AddOrUpdateLocalSetting(result); }
internal StoreSetting GetSetting(string name) { // Search local settings storage for setting var s = AllSettings.FirstOrDefault(y => y.SettingName == name); if (s == null) { s = new StoreSetting(); } return(s); }
internal void SetProp(string name, int value, bool localized = false) { var result = new StoreSetting(); result.StoreId = _Store.Id; result.SettingName = name; if (localized) { result.LocalizedValueAsInteger = value; } else { result.ValueAsInteger = value; } AddOrUpdateLocalSetting(result, localized); }
// Keeps local settings synchronized with updates during a single request // Does not update database public void AddOrUpdateLocalSetting(StoreSetting s, bool preserveNotLocalizedValue = false) { // Search local settings storage for setting var found = AllSettings.Where(y => y.SettingName == s.SettingName).FirstOrDefault(); if (found == null) { AllSettings.Add(s); } else { s.Id = found.Id; // Set Id so we'll get a database update instead of insert if (preserveNotLocalizedValue) { s.SettingValue = found.SettingValue; } AllSettings[AllSettings.IndexOf(found)] = s; } }