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; }
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); }
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"); }