public virtual void Initialize <T>(string sectionName, string keyName, T value)
        {
            this.InitializeSchema <T>(sectionName, keyName);
            if (!_storeValues.IsExists(sectionName, keyName))
            {
                return;
            }
            IConfigKeyValuePair keyValue = _storeValues[sectionName][keyName];

            if (keyValue != null)
            {
                if (keyValue is ConfigKeyValuePairLong)
                {
                    ((ConfigKeyValuePairLong)keyValue).DefaultValue = (long)Convert.ChangeType(value, typeof(long));
                }
                else if (keyValue is ConfigKeyValuePairInt)
                {
                    ((ConfigKeyValuePairInt)keyValue).DefaultValue = (int)Convert.ChangeType(value, typeof(int));
                }
                else if (keyValue is ConfigKeyValuePairBool)
                {
                    ((ConfigKeyValuePairBool)keyValue).DefaultValue = (bool)Convert.ChangeType(value, typeof(bool));
                }
                else
                {
                    ((ConfigKeyValuePairString)keyValue).DefaultValue = (string)Convert.ChangeType(value, typeof(string));
                }
            }
        }
 internal override void InitializeToDefaultValues(IConfigKeyValuePair keyValue, string sectionName, string keyName)
 {
     this.DoWriteWork((p) =>
     {
         p.InitializeToDefaultValues(keyValue, sectionName, keyName);
     });
 }
 internal override void RemoveValue(IConfigKeyValuePair keyValue, string sectionName, string keyName)
 {
     this.DoWriteWork((p) =>
     {
         p.RemoveValue(keyValue, sectionName, keyName);
     });
 }
        public virtual void SetValue <T>(string sectionName, string keyName, T value)
        {
            this.ReloadIfModified();
            if (!_storeValues.IsExists(sectionName, keyName))
            {
                return;
            }
            IConfigKeyValuePair keyValue = _storeValues[sectionName][keyName];

            if (keyValue != null)
            {
                if (keyValue is ConfigKeyValuePairLong)
                {
                    ((ConfigKeyValuePairLong)keyValue).Value = (long)Convert.ChangeType(value, typeof(long));
                }
                else if (keyValue is ConfigKeyValuePairInt)
                {
                    ((ConfigKeyValuePairInt)keyValue).Value = (int)Convert.ChangeType(value, typeof(int));
                }
                else if (keyValue is ConfigKeyValuePairBool)
                {
                    ((ConfigKeyValuePairBool)keyValue).Value = (bool)Convert.ChangeType(value, typeof(bool));
                }
                else
                {
                    ((ConfigKeyValuePairString)keyValue).Value = (string)Convert.ChangeType(value, typeof(string));
                }

                if (keyValue.IsValueChanged)
                {
                    this.Save();
                }
            }
        }
示例#5
0
        public override object GetObjectValue(string sectionName, string keyName)
        {
            IConfigKeyValuePair keyValue = _storeValues[sectionName][keyName];
            object result = null;

            if (keyValue != null)
            {
                if (keyValue is ConfigKeyValuePairLong)
                {
                    result = RegistryHelper.GetValueInt64(null, sectionName, keyName, 0);
                }
                else if (keyValue is ConfigKeyValuePairInt)
                {
                    result = RegistryHelper.GetValueInt32(null, sectionName, keyName, 0);
                }
                else if (keyValue is ConfigKeyValuePairBool)
                {
                    result = RegistryHelper.GetValueBool(null, sectionName, keyName, false);
                }
                else
                {
                    result = RegistryHelper.GetValueString(null, sectionName, keyName, string.Empty);
                }
            }

            return(result);
        }
示例#6
0
 public override void SetValue(string sectionName, string keyName, string value, bool save)
 {
     base.SetValue(sectionName, keyName, value, save);
     if (save)
     {
         IConfigKeyValuePair keyValue = _storeValues[sectionName][keyName];
         this.SetObjectValue(sectionName, keyName, keyValue.GetObjectValue());
     }
 }
 public virtual void InitializeToDefaultValues(ConfigKeyValuePairTopDictionary storeValues)
 {
     foreach (var pair1 in storeValues)
     {
         foreach (var pair2 in pair1.Value)
         {
             IConfigKeyValuePair keyValue = pair2.Value;
             this.InitializeToDefaultValues(keyValue, pair1.Key, pair2.Key);
         }
     }
 }
        public void RemoveValues(ConfigKeyValuePairTopDictionary storeValues)
        {
            foreach (var pair1 in storeValues)
            {
                foreach (var pair2 in pair1.Value)
                {
                    IConfigKeyValuePair keyValue = pair2.Value;
                    this.RemoveValue(keyValue, pair1.Key, pair2.Key);
                }

                this.RemoveSubKey(pair1.Key);
            }
        }
示例#9
0
 internal override void InitializeToDefaultValues(IConfigKeyValuePair keyValue, string sectionName, string keyName)
 {
     base.InitializeToDefaultValues(keyValue, sectionName, keyName);
     if (_storeValues.ContainsKey(sectionName))
     {
         var section = _storeValues[sectionName];
         if (section.ContainsKey(keyName))
         {
             var keyValue2 = section[keyName];
             keyValue2.SetObjectValue(keyValue.GetDefaultObjectValue());
         }
     }
 }
示例#10
0
        private void InitializeSchema <T>(string sectionName, string keyName, T defaultValue)
        {
            ConfigKeyValuePairDictionary dictKey = null;
            Type typeOfT = typeof(T);

            if (_storeValues.ContainsKey(sectionName))
            {
                dictKey = _storeValues[sectionName];
            }
            else
            {
                dictKey = new ConfigKeyValuePairDictionary();
                _storeValues.Add(sectionName, dictKey);
            }

            if (dictKey != null)
            {
                IConfigKeyValuePair keyValue = null;

                if (dictKey.ContainsKey(keyName))
                {
                    keyValue = dictKey[keyName];
                }
                else
                {
                    if (typeOfT == typeof(long))
                    {
                        keyValue = new ConfigKeyValuePairLong();
                    }
                    else if (typeOfT == typeof(int))
                    {
                        keyValue = new ConfigKeyValuePairInt();
                    }
                    else if (typeOfT == typeof(bool))
                    {
                        keyValue = new ConfigKeyValuePairBool();
                    }
                    else
                    {
                        keyValue = new ConfigKeyValuePairString();
                    }

                    keyValue.Key = keyName;
                    keyValue.SetDefaultValue(defaultValue);
                    dictKey.Add(keyName, keyValue);
                }
            }
        }
        public virtual object GetObjectValue(string sectionName, string keyName)
        {
            if (!_storeValues.IsExists(sectionName, keyName))
            {
                return(null);
            }
            IConfigKeyValuePair keyValue = _storeValues[sectionName][keyName];
            object result = null;

            if (keyValue != null)
            {
                result = keyValue.GetObjectValue();
            }

            return(result);
        }
        public virtual void SetValue(string sectionName, string keyName, string value, bool save)
        {
            if (save)
            {
                this.ReloadIfModified();
            }
            if (!_storeValues.IsExists(sectionName, keyName))
            {
                return;
            }
            IConfigKeyValuePair keyValue = _storeValues[sectionName][keyName];

            if (keyValue != null)
            {
                if (keyValue is ConfigKeyValuePairLong)
                {
                    long value2 = 0;
                    long.TryParse(value, out value2);
                    ((ConfigKeyValuePairLong)keyValue).Value = value2;
                }
                else if (keyValue is ConfigKeyValuePairInt)
                {
                    int value2 = 0;
                    int.TryParse(value, out value2);
                    ((ConfigKeyValuePairInt)keyValue).Value = value2;
                }
                else if (keyValue is ConfigKeyValuePairBool)
                {
                    bool value2 = false;
                    if (value != null)
                    {
                        string valueNoCase = value.ToString().ToLower();
                        value2 = (valueNoCase == "true" || valueNoCase == "1");
                    }
                    ((ConfigKeyValuePairBool)keyValue).Value = value2;
                }
                else
                {
                    ((ConfigKeyValuePairString)keyValue).Value = value;
                }
            }

            if (save && keyValue.IsValueChanged)
            {
                this.Save();
            }
        }
        public virtual T GetValue <T>(string sectionName, string keyName, T defaultValue)
        {
            if (!_storeValues.IsExists(sectionName, keyName))
            {
                return(default(T));
            }
            IConfigKeyValuePair keyValue = _storeValues[sectionName][keyName];
            object result  = null;
            object resultT = defaultValue;

            if (keyValue != null)
            {
                if (keyValue is ConfigKeyValuePairLong)
                {
                    resultT = ((ConfigKeyValuePairLong)keyValue).Value;
                }
                else if (keyValue is ConfigKeyValuePairInt)
                {
                    resultT = ((ConfigKeyValuePairInt)keyValue).Value;
                }
                else if (keyValue is ConfigKeyValuePairBool)
                {
                    resultT = ((ConfigKeyValuePairBool)keyValue).Value;
                }
                else
                {
                    resultT = ((ConfigKeyValuePairString)keyValue).Value;
                }
            }


            if (typeof(T) == typeof(string))
            {
                if (resultT != null)
                {
                    result = resultT.ToString();
                }
                return((T)result);
            }
            else
            {
                return((T)resultT);
            }
        }
        public virtual void SetObjectValue(string sectionName, string keyName, object value)
        {
            this.ReloadIfModified();
            if (!_storeValues.IsExists(sectionName, keyName))
            {
                return;
            }
            IConfigKeyValuePair keyValue = _storeValues[sectionName][keyName];

            if (keyValue != null)
            {
                keyValue.SetObjectValue(value);

                if (keyValue.IsValueChanged)
                {
                    this.Save();
                }
            }
        }
示例#15
0
        public override T GetValue <T>(string sectionName, string keyName, T defaultValue)
        {
            IConfigKeyValuePair keyValue = _storeValues[sectionName][keyName];
            object result        = null;
            object resultT       = defaultValue;
            object defaultValue2 = Convert.ChangeType(defaultValue, typeof(T));
            Type   typeOfT       = typeof(T);

            if (keyValue != null)
            {
                if (typeOfT == typeof(long))
                {
                    resultT = RegistryHelper.GetValueInt64(null, sectionName, keyName, ((int)defaultValue2));
                }
                else if (typeOfT == typeof(int))
                {
                    resultT = RegistryHelper.GetValueInt32(null, sectionName, keyName, ((int)defaultValue2));
                }
                else if (typeOfT == typeof(bool))
                {
                    resultT = RegistryHelper.GetValueBool(null, sectionName, keyName, ((bool)defaultValue2));
                }
                else
                {
                    resultT = RegistryHelper.GetValueString(null, sectionName, keyName, ((string)defaultValue2));
                }
            }


            if (typeof(T) == typeof(string))
            {
                if (resultT != null)
                {
                    result = resultT.ToString();
                }
                return((T)result);
            }
            else
            {
                return((T)resultT);
            }
        }
示例#16
0
        public override void SetObjectValue(string sectionName, string keyName, object value)
        {
            IConfigKeyValuePair keyValue = _storeValues[sectionName][keyName];

            if (keyValue != null)
            {
                if (keyValue is ConfigKeyValuePairLong)
                {
                    RegistryHelper.SetRegValue(null, sectionName, keyName, (long)Convert.ChangeType(value, typeof(long)));
                }
                else if (keyValue is ConfigKeyValuePairInt)
                {
                    RegistryHelper.SetRegValue(null, sectionName, keyName, (int)Convert.ChangeType(value, typeof(int)));
                }
                else if (keyValue is ConfigKeyValuePairBool)
                {
                    RegistryHelper.SetRegValue(null, sectionName, keyName, (bool)Convert.ChangeType(value, typeof(bool)));
                }
                else
                {
                    RegistryHelper.SetRegValue(null, sectionName, keyName, (string)Convert.ChangeType(value, typeof(string)));
                }
            }
        }
示例#17
0
 internal override void InitializeToDefaultValues(IConfigKeyValuePair keyValue, string sectionName, string keyName)
 {
     RegistryHelper.SetRegValue(null, sectionName, keyName, keyValue.GetDefaultObjectValue());
 }
 internal override void InitializeToDefaultValues(IConfigKeyValuePair keyValue, string sectionName, string keyName)
 {
     base.InitializeToDefaultValues(keyValue, sectionName, keyName);
     if (_storeValues.ContainsKey(sectionName))
     {
         var section = _storeValues[sectionName];
         if (section.ContainsKey(keyName))
         {
             var keyValue2 = section[keyName];
             keyValue2.SetObjectValue(keyValue.GetDefaultObjectValue());
         }
     }
 }
 internal virtual void RemoveValue(IConfigKeyValuePair keyValue, string sectionName, string keyName)
 {
 }
示例#20
0
 internal override void RemoveValue(IConfigKeyValuePair keyValue, string sectionName, string keyName)
 {
     RegistryHelper.RemoveRegValue(null, sectionName, keyName);
 }
 internal virtual void InitializeToDefaultValues(IConfigKeyValuePair keyValue, string sectionName, string keyName)
 {
     keyValue.SetValueFromDefault();
 }