public IEnumerable <ISiteMapNodeToParentRelation> GetSiteMapNodes(ISiteMapNodeHelper helper) { var result = new List <ISiteMapNodeToParentRelation>(); var provider = siteMapProvider.GetProvider(); var rootNode = GetRootNode(provider, helper); if (this.includeRootNode) { result.Add(rootNode); } result.AddRange(ProcessNodes(rootNode, provider.RootNode, helper)); return(result); }
public ISiteMapNode BuildSiteMap(ISiteMap siteMap, ISiteMapNode rootNode) { var provider = siteMapProvider.GetProvider(); rootNode = GetRootNode(siteMap, provider); // Fixes #192 root node not added to sitemap if (siteMap.FindSiteMapNodeFromKey(rootNode.Key) == null) { // Add the root node to the sitemap siteMap.AddNode(rootNode); } ProcessNodes(siteMap, rootNode, provider.RootNode); return(rootNode); }