//------------------------------------------------------------------------------------ /// <summary> /// Given a treeID for this product's feature tree, returns the full path for that /// tree node. /// </summary> //------------------------------------------------------------------------------------ public virtual string GetTreePath(int treeID, ProductTreeFormat treeFormat) { DatastoreItemList storeItemList = GetStoreItemList(); if (storeItemList != null) { ProductStudio.PsCoreTreeTypeEnum treeType = ProductStudio.PsCoreTreeTypeEnum.psCoreTreeTypeProduct; ProductStudio.Node rootNode = storeItemList.Datastore.get_RootNodeEx(treeType); ProductStudio.Node currNode = rootNode.FindNodeInSubtree(treeID); List <string> nodeNames = new List <string>(); while (currNode != null && currNode.ID > 1) { nodeNames.Insert(0, currNode.Name); currNode = currNode.Parent; } string fullPath = treeFormat == ProductTreeFormat.IncludeProduct ? StoreID.Name : ""; foreach (string name in nodeNames) { fullPath += "\\" + name; } return(fullPath); } return(null); }
public List <int> GetTreeIDChildNodes(int treeID) { List <int> nodes = new List <int>(); nodes.Add(treeID); DatastoreItemList storeItemList = GetStoreItemList(); if (storeItemList != null) { ProductStudio.Node rootNode = storeItemList.Datastore.get_RootNodeEx(ProductStudio.PsCoreTreeTypeEnum.psCoreTreeTypeProduct); Node startingNode = rootNode.FindNodeInSubtree(treeID); if (startingNode != null) { AddTreeIDChildNode(startingNode, nodes); } } return(nodes); }
public bool IsItemUnderTreeID(int treeID, int itemTreeID) { if (treeID == itemTreeID) { return(true); } DatastoreItemList storeItemList = GetStoreItemList(); if (storeItemList != null) { ProductStudio.Node rootNode = storeItemList.Datastore.get_RootNodeEx(ProductStudio.PsCoreTreeTypeEnum.psCoreTreeTypeProduct); Node startingNode = rootNode.FindNodeInSubtree(treeID); if (startingNode != null) { return(IsItemUnderTreeNode(startingNode, itemTreeID)); } } return(false); }