Exemplo n.º 1
0
        private static void ApplySettingValue(string identifier, string name, SettingItem item)
        {
            using (SettingsEntities entities = EntityFrameworkHelper.CreateContext <SettingsEntities>(EdmxPath))
            {
                UserSettingData userData = entities.GetUserSettingData(identifier, name);

                if (userData != null)
                {
                    item.ApplyUserValue(userData.Value);
                }
            }
        }
Exemplo n.º 2
0
        private IList <SettingKey> SaveSettings(IEnumerable <KeyValuePair <SettingKey, SettingItem> > values)
        {
            List <SettingKey> keys = new List <SettingKey>();

            using (SettingsEntities entities = EntityFrameworkHelper.CreateContext <SettingsEntities>(EdmxPath))
            {
                foreach (var pair in values)
                {
                    SettingKey          key   = pair.Key;
                    IProxyType <string> value = pair.Value;

                    try
                    {
                        if (AddOrUpdateSetting(entities, key, value))
                        {
                            keys.Add(key);
                        }
                    }
                    catch (ConstraintException ex)
                    {
                        Logger.Instance.LogFormat(LogType.Error, this, Properties.Resources.SettingAddOrUpdateConstraintError, key);
                        Logger.Instance.LogException(this, ex);
                    }
                    catch (DataException ex)
                    {
                        Logger.Instance.LogFormat(LogType.Error, this, Properties.Resources.SettingAddOrUpdateError, key);
                        Logger.Instance.LogException(this, ex);
                    }
                }

                if (keys.Count > 0)
                {
                    entities.SaveChanges();
                }
            }

            return(keys);
        }
Exemplo n.º 3
0
        private static bool AddOrUpdateSetting(SettingsEntities entities, SettingKey key, IProxyType <string> value)
        {
            UserSettingData userSetting = entities.GetUserSettingData(key.Identifier, key.Name);

            if (userSetting == null)
            {
                userSetting            = new UserSettingData();
                userSetting.Identifier = key.Identifier;
                userSetting.Name       = key.Name;
                entities.UserSettings.AddObject(userSetting);
            }

            string valueToPersist = value.ProxiedValue;

            if (!string.Equals(userSetting.Value, valueToPersist, StringComparison.Ordinal))
            {
                userSetting.Value = valueToPersist;

                return(true);
            }

            return(false);
        }