Пример #1
0
        public bool RemoveData <T>(string key) where T : class
        {
            if (SettingsBrokerInstances.All(s => s.Key != key))
            {
                throw new NotSupportedException("Item does not exists");
            }

            return(SettingsBrokerInstances.Remove(SettingsBrokerInstances.FirstOrDefault(s => s.Key == key)));
        }
Пример #2
0
        public T GetData <T>(string key) where T : class
        {
            if (SettingsBrokerInstances.All(s => s.Key != key))
            {
                return(default(T));
            }

            return(SettingsBrokerInstances.FirstOrDefault(s => key == s.Key).Value as T);
        }
Пример #3
0
        public void SetData <T>(string key, T value) where T : class
        {
            if (SettingsBrokerInstances.Any(s => s.Key == key))
            {
                throw new NotSupportedException("Allready contains this item");
            }

            SettingsBrokerInstances.Add(new SettingsBrokerInstance {
                Key = key, Value = value
            });
        }
Пример #4
0
        public void ChangeFileWithCopy(string filename)
        {
            SettingsBrokerInstance[] deepcopy = SettingsBrokerInstances.ToArray();

            Filename = filename;

            foreach (SettingsBrokerInstance settingsBrokerInstance in deepcopy)
            {
                if (GetData <object>(settingsBrokerInstance.Key) != null)
                {
                    OverrideData(settingsBrokerInstance.Key, settingsBrokerInstance.Value);
                }
                else
                {
                    SetData(settingsBrokerInstance.Key, settingsBrokerInstance.Value);
                }
            }
        }
Пример #5
0
 public IEnumerator GetEnumerator()
 {
     return(new DataBrokerEnumerator(SettingsBrokerInstances.ToArray()));
 }