protected override PreferenceItemCollection InitializePreferences (string collectionName)
		{
			var root = CurrentXmlPreferences.DocumentElement;
			var targetCollection = root.SelectSingleNode (String.Format ("preferenceCollection[@name='{0}']", collectionName));

			if (targetCollection == null) {
				return null;
			}

			PreferenceItemCollection result = new PreferenceItemCollection (collectionName);

			foreach (XmlNode item in targetCollection.ChildNodes) {
				PreferenceItem currentPreference = InitializePreferenceItem (item);
				currentPreference.CollectionName = collectionName;
				result.Add (currentPreference);
			}
			return result;
		}
Example #2
0
        protected override PreferenceItemCollection InitializePreferences(string collectionName)
        {
            var root             = CurrentXmlPreferences.DocumentElement;
            var targetCollection = root.SelectSingleNode(String.Format("preferenceCollection[@name='{0}']", collectionName));

            if (targetCollection == null)
            {
                return(null);
            }

            PreferenceItemCollection result = new PreferenceItemCollection(collectionName);

            foreach (XmlNode item in targetCollection.ChildNodes)
            {
                PreferenceItem currentPreference = InitializePreferenceItem(item);
                currentPreference.CollectionName = collectionName;
                result.Add(currentPreference);
            }
            return(result);
        }
Example #3
0
        public void CanReadAddRemovePreferenceItem()
        {
            PreferencesProvider preferences = ProviderFactory.GetInstance <PreferencesFactory> (ProviderRepositoryFactory.Instance.Provider).GetDefaultProvider <PreferencesProvider> ();

            Assert.AreNotEqual(preferences.GetPreferences("appSetting").Count, 0);
            Assert.AreEqual(preferences.GetPreferences("appSetting").Count, 2);
            Assert.AreEqual(preferences.GetPreferences("appSetting") ["1"].ID, "1");
            Assert.AreEqual(preferences.GetPreferences("appSetting") ["1"].Description, "preference no 1");

            PreferenceItemCollection appSetting = preferences.GetPreferences("appSetting");
            PreferenceItem           newItem    = new PreferenceItem();

            newItem.ID          = "3";
            newItem.Description = "Percentage";
            newItem.Name        = "3";
            newItem.Value       = "3";

            appSetting.Add(newItem);

            preferences.SavePreferences(appSetting);

            var xmlDoc = new XmlDocument();

            xmlDoc.Load(preferences.XmlFileName);

            var dataTypeNode = xmlDoc.DocumentElement.SelectSingleNode(String.Format("preferenceCollection[@name='{0}']", appSetting.CollectionName));

            Assert.AreEqual(dataTypeNode.ChildNodes.Count, 3);
            Assert.AreEqual(dataTypeNode.ChildNodes [2].Attributes ["name"].Value, "3");

            appSetting = preferences.GetPreferences("appSetting");
            appSetting.Remove(appSetting ["3"]);
            preferences.SavePreferences(appSetting);

            xmlDoc = new XmlDocument();
            xmlDoc.Load(preferences.XmlFileName);

            dataTypeNode = xmlDoc.DocumentElement.SelectSingleNode(String.Format("preferenceCollection[@name='{0}']", appSetting.CollectionName));
            Assert.AreEqual(dataTypeNode.ChildNodes.Count, 2);
            Assert.AreNotEqual(dataTypeNode.ChildNodes [1].Attributes ["name"].Value, "3");
        }