private TreeDataItem GetChildren(Item item, string selectedItemId, string filteredBaseTemplateId) { if (!item.HasChildren) { return(BuildTreeNode(item, selectedItemId, filteredBaseTemplateId, false)); } else { TreeDataItem root = BuildTreeNode(item, selectedItemId, filteredBaseTemplateId, true); foreach (Item child in item.Children) { root.Children.Add(GetChildren(child, selectedItemId, filteredBaseTemplateId)); } return(root); } }
private TreeDataItem BuildTreeNode(Item item, string selectedItemId, string filteredBaseTemplateId, bool initializeChildrenCollection) { var node = new TreeDataItem() { Id = item.ID.Guid.ToString(), DisplayName = item.DisplayName, IconUrl = ItemHelper.GetIconUrl(item), State = GetNodeState(item, selectedItemId, filteredBaseTemplateId), Path = item.Paths.FullPath }; if (initializeChildrenCollection) { node.Children = new List <TreeDataItem>(); } return(node); }
private TreeDataItem[] GetItemSubTreeSelectedNodeFromDB(string itemId, string dbName, string selectedItemId, string filteredBaseTemplateId) { TreeDataItem tree = null; if (string.IsNullOrWhiteSpace(itemId)) { return(null); } if (string.IsNullOrWhiteSpace(dbName)) { dbName = DEFAULT_DATABASE; } using (new Sitecore.SecurityModel.SecurityDisabler()) { Sitecore.Data.Database database = Sitecore.Data.Database.GetDatabase(dbName); var rootItem = database.GetItem(new Sitecore.Data.ID(itemId)); tree = GetChildren(rootItem, selectedItemId, filteredBaseTemplateId); } return(new TreeDataItem[] { tree }); }