Beispiel #1
0
        internal void SetProp(string name, Guid value)
        {
            var result = new StoreSetting();

            result.StoreId     = _Store.Id;
            result.SettingName = name;
            result.ValueAsGuid = value;
            AddOrUpdateLocalSetting(result);
        }
Beispiel #2
0
        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);
        }
Beispiel #3
0
        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);
        }
Beispiel #4
0
        // 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;
            }
        }