/// <summary> /// Builds the model. /// </summary> /// <param name="helper">The helper.</param> /// <param name="startingNode">The starting node.</param> /// <returns>The model.</returns> private static SiteMapPathHelperModel BuildModel(MvcSiteMapHtmlHelper helper, SiteMapNode startingNode) { // Build model var model = new SiteMapPathHelperModel(); var node = startingNode; while (node != null) { var mvcNode = node as MvcSiteMapNode; // Check visibility bool nodeVisible = true; if (mvcNode != null) { nodeVisible = mvcNode.VisibilityProvider.IsVisible( node, HttpContext.Current, SourceMetadata); } // Check ACL if (nodeVisible && node.IsAccessibleToUser(HttpContext.Current)) { // Add node var nodeToAdd = SiteMapNodeModelMapper.MapToSiteMapNodeModel(node, mvcNode, SourceMetadata); model.Nodes.Add(nodeToAdd); } node = node.ParentNode; } model.Nodes.Reverse(); return model; }
/// <summary> /// Builds the model. /// </summary> /// <param name="helper">The helper.</param> /// <param name="startingNode">The starting node.</param> /// <returns>The model.</returns> private static SiteMapPathHelperModel BuildModel(MvcSiteMapHtmlHelper helper, SiteMapNode startingNode) { // Build model var model = new SiteMapPathHelperModel(); var node = startingNode; while (node != null) { var mvcNode = node as MvcSiteMapNode; // Check visibility bool nodeVisible = true; if (mvcNode != null) { nodeVisible = mvcNode.VisibilityProvider.IsVisible( node, HttpContext.Current, SourceMetadata); } // Check ACL if (nodeVisible && node.IsAccessibleToUser(HttpContext.Current)) { // Add node var nodeToAdd = SiteMapNodeModelMapper.MapToSiteMapNodeModel(node, mvcNode, SourceMetadata); model.Nodes.Add(nodeToAdd); } node = node.ParentNode; } model.Nodes.Reverse(); return(model); }
/// <summary> /// Builds the model. /// </summary> /// <param name="helper">The helper.</param> /// <param name="startingNode">The starting node.</param> /// <param name="sourceMetadata">User-defined meta data.</param> /// <returns>The model.</returns> private static SiteMapPathHelperModel BuildModel(MvcSiteMapHtmlHelper helper, SourceMetadataDictionary sourceMetadata, ISiteMapNode startingNode) { // Build model var model = new SiteMapPathHelperModel(); var node = startingNode; // Check visibility and ACL if (node != null && node.IsVisible(sourceMetadata) && node.IsAccessibleToUser()) { // Add node model.Nodes.AddRange((new SiteMapNodeModel(node, sourceMetadata)).Ancestors); } return(model); }
/// <summary> /// Builds the model. /// </summary> /// <param name="helper">The helper.</param> /// <param name="startingNode">The starting node.</param> /// <param name="sourceMetadata">User-defined meta data.</param> /// <returns>The model.</returns> private static SiteMapPathHelperModel BuildModel(MvcSiteMapHtmlHelper helper, SourceMetadataDictionary sourceMetadata, ISiteMapNode startingNode) { // Build model var model = new SiteMapPathHelperModel(); var node = startingNode; while (node != null) { bool nodeVisible = node.IsVisible(sourceMetadata); if (nodeVisible && node.IsAccessibleToUser()) { var nodeToAdd = new SiteMapNodeModel(node, sourceMetadata); model.Nodes.Add(nodeToAdd); } node = node.ParentNode; } model.Nodes.Reverse(); return(model); }
/// <summary> /// Builds the model. /// </summary> /// <param name="helper">The helper.</param> /// <param name="startingNode">The starting node.</param> /// <param name="sourceMetadata">User-defined meta data.</param> /// <returns>The model.</returns> private static SiteMapPathHelperModel BuildModel(MvcSiteMapHtmlHelper helper, SourceMetadataDictionary sourceMetadata, SiteMapNode startingNode) { // Build model var model = new SiteMapPathHelperModel(); var node = startingNode; while (node != null) { bool nodeVisible = node.IsVisible(sourceMetadata); if (nodeVisible && node.IsAccessibleToUser()) { var nodeToAdd = new SiteMapNodeModel(helper.SiteMap, node, sourceMetadata); model.Nodes.Add(nodeToAdd); } node = node.GetParentNode(helper.SiteMap); } model.Nodes.Reverse(); return model; }
/// <summary> /// Builds the model. /// </summary> /// <param name="helper">The helper.</param> /// <param name="startingNode">The starting node.</param> /// <param name="sourceMetadata">User-defined meta data.</param> /// <returns>The model.</returns> private static SiteMapPathHelperModel BuildModel(MvcSiteMapHtmlHelper helper, SourceMetadataDictionary sourceMetadata, ISiteMapNode startingNode) { // Build model var model = new SiteMapPathHelperModel(); var node = startingNode; // Check visibility and ACL if (node != null && node.IsVisible(sourceMetadata) && node.IsAccessibleToUser()) { // Add node model.Nodes.AddRange((new SiteMapNodeModel(node, sourceMetadata)).Ancestors); } return model; }