Пример #1
0
        protected override LookupItemCollection InitializeLookups(string collectionName)
        {
            var root             = CurrentXmlLookup.DocumentElement;
            var targetCollection = root.SelectSingleNode(String.Format("lookupCollection[@name='{0}']", collectionName));

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

            LookupItemCollection result = new LookupItemCollection(collectionName);

            foreach (XmlNode item in targetCollection.ChildNodes)
            {
                LookupItem currentLookup = InitializeLookupItem(item);
                currentLookup.CollectionName = collectionName;
                result.Add(currentLookup);
            }
            return(result);
        }
Пример #2
0
        public void CanReadAddRemoveLookupItem()
        {
            LookupDataModelProvider lookupDataModel = ProviderFactory.GetInstance <LookupDataModelFactory> (ProviderRepositoryFactory.Instance.Provider).GetDefaultProvider <LookupDataModelProvider> ();

            Assert.AreNotEqual(lookupDataModel.GetLookups("dataType").Count, 0);
            Assert.AreEqual(lookupDataModel.GetLookups("dataType").Count, 2);
            Assert.AreEqual(lookupDataModel.GetLookups("dataType")["1"].LookupID, "1");
            Assert.AreEqual(lookupDataModel.GetLookups("dataType")["1"].LookupDesc, "String");

            LookupItemCollection dataTypes = lookupDataModel.GetLookups("dataType");
            LookupItem           newItem   = new LookupItem();

            newItem.LookupID   = "3";
            newItem.LookupDesc = "Percentage";
            newItem.LookupCode = "3";

            dataTypes.Add(newItem);

            lookupDataModel.SaveLookups(dataTypes);

            var xmlDoc = new XmlDocument();

            xmlDoc.Load(lookupDataModel.XmlFileName);

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

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

            dataTypes = lookupDataModel.GetLookups("dataType");
            dataTypes.Remove(dataTypes["3"]);
            lookupDataModel.SaveLookups(dataTypes);

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

            dataTypeNode = xmlDoc.DocumentElement.SelectSingleNode(String.Format("lookupCollection[@name='{0}']", dataTypes.CollectionName));
            Assert.AreEqual(dataTypeNode.ChildNodes.Count, 2);
            Assert.AreNotEqual(dataTypeNode.ChildNodes[1].Attributes["code"].Value, "3");
        }
		protected override LookupItemCollection InitializeLookups (string collectionName)
		{
			var root = CurrentXmlLookup.DocumentElement;
			var targetCollection = root.SelectSingleNode(String.Format("lookupCollection[@name='{0}']",collectionName));
	
			if (targetCollection == null) {
				return null;
			}
	
			LookupItemCollection result = new LookupItemCollection(collectionName);
			
			foreach (XmlNode item in targetCollection.ChildNodes) {
				LookupItem currentLookup = InitializeLookupItem(item);
				currentLookup.CollectionName = collectionName;
				result.Add(currentLookup);
			}
			return result;
		}