protected virtual void RegisterSiteMapInformation(ISiteMapBuilderService siteMapBuilderService) { SiteMapNodeInfo moduleNode = new SiteMapNodeInfo("Home", "~/Default.aspx", "Home", "Home"); siteMapBuilderService.AddNode(moduleNode); siteMapBuilderService.AddNode(new SiteMapNodeInfo("Snow Ski Chair", "~/Merchandise/ProductMenu.aspx?pid=1", "Snow Ski Chair", "Snow Ski Chair")); siteMapBuilderService.AddNode(new SiteMapNodeInfo("Water Ski Chair", "~/Merchandise/ProductMenu.aspx?pid=2", "Water Ski Chair", "Water Ski Chair")); siteMapBuilderService.AddNode(new SiteMapNodeInfo("Hockey Stick Chair", "~/Merchandise/ProductMenu.aspx?pid=3", "Hockey Stick Chair", "Hockey Stick Chair")); siteMapBuilderService.AddNode(new SiteMapNodeInfo("Golf Club Chair", "~/Merchandise/ProductMenu.aspx?pid=4", "Golf Club Chair", "Golf Club Chair")); siteMapBuilderService.AddNode(new SiteMapNodeInfo("Wakeboard Bench", "~/Merchandise/ProductMenu.aspx?pid=5", "Wakeboard Bench", "Wakeboard Bench")); siteMapBuilderService.AddNode(new SiteMapNodeInfo("Snowboard Bench", "~/Merchandise/ProductMenu.aspx?pid=6", "Snowboard Bench", "Snowboard Bench")); siteMapBuilderService.AddNode(new SiteMapNodeInfo("Skateboard Bench", "~/Merchandise/ProductMenu.aspx?pid=7", "Skateboard Bench", "Skateboard Bench")); siteMapBuilderService.AddNode(new SiteMapNodeInfo("Snow Ski Bench", "~/Merchandise/ProductMenu.aspx?pid=8", "Snow Ski Bench", "Snow Ski Bench")); siteMapBuilderService.AddNode(new SiteMapNodeInfo("Baseball Bat Chair", "~/Merchandise/ProductMenu.aspx?pid=9", "Baseball Bat Chair", "Baseball Bat Chair")); siteMapBuilderService.AddNode(new SiteMapNodeInfo("Snowboard Chair", "~/Merchandise/ProductMenu.aspx?pid=10", "Snowboard Chair", "Snowboard Chair")); siteMapBuilderService.AddNode(new SiteMapNodeInfo("Water Ski Bench", "~/Merchandise/ProductMenu.aspx?pid=11", "Water Ski Bench", "Water Ski Bench")); siteMapBuilderService.AddNode(new SiteMapNodeInfo("Wakeboard Chair", "~/Merchandise/ProductMenu.aspx?pid=12", "Wakeboard Chair", "Wakeboard Chair")); siteMapBuilderService.AddNode(new SiteMapNodeInfo("Skateboard Chair", "~/Merchandise/ProductMenu.aspx?pid=13", "Skateboard Chair", "Skateboard Chair")); siteMapBuilderService.AddNode(new SiteMapNodeInfo("Log Collection", "~/Merchandise/ProductMenu.aspx?pid=14", "Log Collection", "Log Collection")); siteMapBuilderService.AddNode(new SiteMapNodeInfo("Coat Rack", "~/Merchandise/ProductMenu.aspx?pid=15", "Coat Rack", "Coat Rack")); siteMapBuilderService.AddNode(new SiteMapNodeInfo("Wine Rack", "~/Merchandise/ProductMenu.aspx?pid=16", "Wine Rack", "Wine Rack")); siteMapBuilderService.AddNode(new SiteMapNodeInfo("Children's Chair", "~/Merchandise/ProductMenu.aspx?pid=17", "Children's Chair", "Children's Chair")); //bread crumb siteMapBuilderService.RootNode.Url = "~/Default.aspx"; siteMapBuilderService.RootNode.Title = "SkiChair Home"; // TODO: register other site map nodes for pages that belong to the website root }
/// <summary> /// Adds a node with an authorization rule and the specified display order. /// </summary> /// <param name="node">The node to add.</param> /// <param name="authorizationRule">The authorization rule required to access the node.</param> /// <param name="preferredDisplayOrder">The node display order.</param> public void AddNode(SiteMapNodeInfo node, string authorizationRule, int preferredDisplayOrder) { Guard.ArgumentNotNullOrEmptyString(authorizationRule, "authorizationRule"); AddNode(node, preferredDisplayOrder); _nodeAuthorization.Add(node.Key, authorizationRule); }
protected virtual void RegisterSiteMapInformation(ISiteMapBuilderService siteMapBuilderService) { NameValueCollection attributes = new NameValueCollection(1); attributes["imageName"] = "funds"; SiteMapNodeInfo moduleRoot = new SiteMapNodeInfo("EFT", "~/EFT/Default.aspx", "Funds", "The Electronic Funds Transfer Module", null, attributes, null, null); SiteMapNodeInfo createTransferNode = new SiteMapNodeInfo("CreateTransfer", "~/EFT/CreateTransfer.aspx", "Create Transfer", "Creates a new transfer"); SiteMapNodeInfo confirmTransfersViewNode = new SiteMapNodeInfo("ConfirmTransfersView", "~/EFT/ConfirmTransfersView.aspx", "Confirm Transfers"); SiteMapNodeInfo createAccountViewNode = new SiteMapNodeInfo("CreateAccountView", "~/EFT/CreateAccountView.aspx", "Create Account"); SiteMapNodeInfo newTransferViewNode = new SiteMapNodeInfo("NewTransferView", "~/EFT/NewTransferView.aspx", "New Transfer"); SiteMapNodeInfo summaryViewNode = new SiteMapNodeInfo("SummaryView", "~/EFT/SummaryView.aspx", "Summary"); siteMapBuilderService.AddNode(moduleRoot, 1); siteMapBuilderService.AddNode(createTransferNode, moduleRoot, "AllowCreateTransfer"); siteMapBuilderService.AddNode(confirmTransfersViewNode, createTransferNode); siteMapBuilderService.AddNode(createAccountViewNode, createTransferNode); siteMapBuilderService.AddNode(newTransferViewNode, createTransferNode); siteMapBuilderService.AddNode(summaryViewNode, createTransferNode); }
public void GetChildrenReturnsProperDisplayOrderWithLotsOfNodes() { ISiteMapBuilderService service = new SiteMapBuilderService(); SiteMapNodeInfo node1 = new SiteMapNodeInfo("node1"); SiteMapNodeInfo node2 = new SiteMapNodeInfo("node2"); SiteMapNodeInfo node3 = new SiteMapNodeInfo("node3"); SiteMapNodeInfo node4 = new SiteMapNodeInfo("node4"); SiteMapNodeInfo node5 = new SiteMapNodeInfo("node5"); SiteMapNodeInfo node6 = new SiteMapNodeInfo("node6"); SiteMapNodeInfo node7 = new SiteMapNodeInfo("node7"); SiteMapNodeInfo node8 = new SiteMapNodeInfo("node8"); service.AddNode(node2, 2); service.AddNode(node3); service.AddNode(node1, 1); service.AddNode(node4, 4); service.AddNode(node5); service.AddNode(node6, 10); service.AddNode(node7); service.AddNode(node8, 1000); Assert.AreSame(node1, service.GetChildren(service.RootNode.Key)[0]); Assert.AreSame(node2, service.GetChildren(service.RootNode.Key)[1]); Assert.AreSame(node4, service.GetChildren(service.RootNode.Key)[2]); Assert.AreSame(node6, service.GetChildren(service.RootNode.Key)[3]); Assert.AreSame(node8, service.GetChildren(service.RootNode.Key)[4]); Assert.AreSame(node3, service.GetChildren(service.RootNode.Key)[5]); Assert.AreSame(node5, service.GetChildren(service.RootNode.Key)[6]); Assert.AreSame(node7, service.GetChildren(service.RootNode.Key)[7]); }
protected virtual void RegisterSiteMapInformation(ISiteMapBuilderService siteMapBuilderService) { SiteMapNodeInfo moduleNode = new SiteMapNodeInfo("$ModuleName$", "~/$ModuleFolderNameOnWebSite$/Default.aspx", "$ModuleName$"); siteMapBuilderService.AddNode(moduleNode); // TODO: register other site map nodes that $ModuleName$ module might provide }
public void ThrowsWhenSpecifyingEmptyAuthorizationRule() { SiteMapBuilderService service = new SiteMapBuilderService(); SiteMapNodeInfo parent = new SiteMapNodeInfo("parent"); string rule = String.Empty; service.AddNode(parent, rule); }
protected virtual void RegisterSiteMapInformation(ISiteMapBuilderService siteMapBuilderService) { SiteMapNodeInfo moduleNode = new SiteMapNodeInfo("Contacts", "~/Contacts/Default.aspx", "Contacts"); siteMapBuilderService.AddNode(moduleNode); // TODO: register other site map nodes that Contacts module might provide }
protected virtual void RegisterSiteMapInformation(ISiteMapBuilderService siteMapBuilderService) { SiteMapNodeInfo moduleNode = new SiteMapNodeInfo("Photo Gallery Menu", "~/PhotoGallery/PhotoGalleryTemp.aspx", "Photo Gallery Menu"); siteMapBuilderService.AddNode(moduleNode); // TODO: register other site map nodes that PhotoGallery module might provide }
public void AssociateAuthorizationRuleWithNode() { SiteMapBuilderService service = new SiteMapBuilderService(); SiteMapNodeInfo node = new SiteMapNodeInfo("node"); service.AddNode(node, "rule"); Assert.AreEqual("rule", service.GetAuthorizationRule(node.Key)); }
public void CannotAddNodesWithSameKey() { SiteMapBuilderService service = new SiteMapBuilderService(); SiteMapNodeInfo node1 = new SiteMapNodeInfo("node"); SiteMapNodeInfo node2 = new SiteMapNodeInfo("node"); service.AddNode(node1); service.AddNode(node2); }
public void NodeThatDoesNotRequireAuthorizationReturnsNullAuthorizationRule() { SiteMapBuilderService service = new SiteMapBuilderService(); SiteMapNodeInfo node = new SiteMapNodeInfo("node"); service.AddNode(node); Assert.IsNull(service.GetAuthorizationRule(node.Key)); }
public void CanAddNodeWithUIOrderSet() { ISiteMapBuilderService service = new SiteMapBuilderService(); SiteMapNodeInfo node = new SiteMapNodeInfo("parent"); service.AddNode(node, 1); Assert.IsTrue(service.GetChildren(service.RootNode.Key).Contains(node)); }
protected virtual void RegisterSiteMapInformation(ISiteMapBuilderService siteMapBuilderService) { SiteMapNodeInfo moduleRootNode = new SiteMapNodeInfo("Customers", null, "Customers"); SiteMapNodeInfo customersSimpleViewNode = new SiteMapNodeInfo("CustomersSimpleView", "~/Customers/CustomersSimpleView.aspx", "Customers (simple)", "Shows simple usage patterns of the ObjectContainerDataSource control, including select/update/insert/delete operations with sorting and paging provided by the control"); SiteMapNodeInfo customersAdvancedViewNode = new SiteMapNodeInfo("CustomersAdvancedView", "~/Customers/CustomersAdvancedView.aspx", "Customers (advanced)", "Shows advanced usage patterns of the ObjectContainerDataSource control, including select/update/insert/delete operations and server-side sorting and paging"); siteMapBuilderService.AddNode(moduleRootNode); siteMapBuilderService.AddNode(customersSimpleViewNode, moduleRootNode); siteMapBuilderService.AddNode(customersAdvancedViewNode, moduleRootNode); }
// We need to replace all calls to _childNodes.Add() to the add sorted method /// <summary> /// Initialize a new instance of <see cref="SiteMapBuilderService"/>. /// </summary> public SiteMapBuilderService() { _rootNode = new SiteMapNodeInfo(Resources.SiteMapRootNodeKey); _keyIndex = new Dictionary<string, SiteMapNodeInfo>(); _childNodes = new Dictionary<string, List<SiteMapNodeInfo>>(); _nodeAuthorization = new Dictionary<string, string>(); _nodePreferredOrder = new Dictionary<string, int>(); _childNodes.Add(_rootNode.Key, new List<SiteMapNodeInfo>()); }
// We need to replace all calls to _childNodes.Add() to the add sorted method /// <summary> /// Initialize a new instance of <see cref="SiteMapBuilderService"/>. /// </summary> public SiteMapBuilderService() { _rootNode = new SiteMapNodeInfo(Resources.SiteMapRootNodeKey); _keyIndex = new Dictionary <string, SiteMapNodeInfo>(); _childNodes = new Dictionary <string, List <SiteMapNodeInfo> >(); _nodeAuthorization = new Dictionary <string, string>(); _nodePreferredOrder = new Dictionary <string, int>(); _childNodes.Add(_rootNode.Key, new List <SiteMapNodeInfo>()); }
public void VerifyThatAddSingleNodeAddsANodeToTheRoot() { SiteMapBuilderService service = new SiteMapBuilderService(); SiteMapNodeInfo node = new SiteMapNodeInfo("node"); service.AddNode(node); Assert.AreEqual(1, service.GetChildren(service.RootNode.Key).Count); Assert.IsTrue(service.GetChildren(service.RootNode.Key).Contains(node)); }
public void AdminModuleInitializerGetsRegisteredOnSiteMap() { TestableModule module = new TestableModule(); SiteMapBuilderService service = new SiteMapBuilderService(); module.TestRegisterSiteMapInformation(service); SiteMapNodeInfo node = service.GetChildren(service.RootNode.Key)[0]; Assert.AreEqual("Admin", node.Key); }
public void OrdersGetsRegisteredOnSiteMap() { TestableModuleInitializer moduleInitializer = new TestableModuleInitializer(); SiteMapBuilderService siteMapBuilder = new SiteMapBuilderService(); moduleInitializer.TestRegisterSiteMapInformation(siteMapBuilder); SiteMapNodeInfo node = siteMapBuilder.GetChildren(siteMapBuilder.RootNode.Key)[0]; Assert.AreEqual("Orders", node.Key); }
public void CustomersActionsGetsRegisteredOnSiteMap() { TestableCustomersModuleInitializer moduleInitializer = new TestableCustomersModuleInitializer(); SiteMapBuilderService siteMapBuilder = new SiteMapBuilderService(); moduleInitializer.TestRegisterSiteMapInformation(siteMapBuilder); SiteMapNodeInfo nodeSearchOrder = siteMapBuilder.GetChildren("Customers")[0]; Assert.AreEqual("SearchCustomer", nodeSearchOrder.Key); }
protected virtual void RegisterSiteMapInformation(ISiteMapBuilderService siteMapBuilderService) { SiteMapNodeInfo moduleNode = new SiteMapNodeInfo("Customers", "~/Customers/Default.aspx", "Customers"); siteMapBuilderService.AddNode(moduleNode, "AllowSearchCustomers"); SiteMapNodeInfo searchCustomerNode = new SiteMapNodeInfo("SearchCustomer", "~/Customers/SearchCustomers.aspx", "Search Customers"); siteMapBuilderService.AddNode(searchCustomerNode, moduleNode, "AllowSearchCustomers"); }
/// <summary> /// Adds a node as a child of another node, and sets the order with which to display the node. /// </summary> /// <param name="node">The node to add.</param> /// <param name="parent">The node under which to add the new node.</param> /// <param name="preferredDisplayOrder">The node display order.</param> public void AddNode(SiteMapNodeInfo node, SiteMapNodeInfo parent, int preferredDisplayOrder) { SafeAddNode(node); if (!_childNodes.ContainsKey(parent.Key)) { _childNodes.Add(parent.Key, new List <SiteMapNodeInfo>()); } AddNodeWithOrder(parent.Key, node, preferredDisplayOrder); }
protected virtual void RegisterSiteMapInformation(ISiteMapBuilderService siteMapBuilderService) { SiteMapNodeInfo moduleNode = new SiteMapNodeInfo("Home", "~/Default.aspx", "Home", "Home"); siteMapBuilderService.AddNode(moduleNode); siteMapBuilderService.RootNode.Url = "~/Default.aspx"; siteMapBuilderService.RootNode.Title = "ModuleQuickstart"; // TODO: register other site map nodes for pages that belong to the website root }
private void SafeAddNode(SiteMapNodeInfo node) { Guard.ArgumentNotNull(node, "node"); if (_keyIndex.ContainsKey(node.Key)) { throw new ServiceException(Resources.DuplicateKeyExceptionMessage); } _keyIndex.Add(node.Key, node); }
public void CanSpecifyAuthorizationRuleWhenAddingNodesWithPreferredDisplayOrder() { ISiteMapBuilderService service = new SiteMapBuilderService(); SiteMapNodeInfo child2 = new SiteMapNodeInfo("child1"); SiteMapNodeInfo child1 = new SiteMapNodeInfo("child2"); service.AddNode(child2, "rule"); service.AddNode(child1, "rule", 1000); Assert.AreSame(child1, service.GetChildren(service.RootNode.Key)[0]); Assert.AreSame(child2, service.GetChildren(service.RootNode.Key)[1]); }
private SiteMapNode CreateSiteMapNode(SiteMapNodeInfo nodeInfo) { return(new SiteMapNode(this, nodeInfo.Key, nodeInfo.Url, nodeInfo.Title, nodeInfo.Description, nodeInfo.Roles, nodeInfo.Attributes, nodeInfo.ExplicitResourcesKey, nodeInfo.ImplicitResourceKey)); }
protected void RegisterSiteMapInformation(ISiteMapBuilderService siteMapBuilderService) { // Register the nodes published by this module NameValueCollection attributes = new NameValueCollection(1); attributes["imageName"] = "admin"; SiteMapNodeInfo adminNode = new SiteMapNodeInfo("Admin", "~/Admin/Default.aspx", "Administration", "Admin Module", null, attributes, null, null); SiteMapNodeInfo permissionNode = new SiteMapNodeInfo("ViewRolePermissions", "~/Admin/ViewRolePermissionsView.aspx", "Permissions", "View Role Permissions"); siteMapBuilderService.AddNode(adminNode, 1000); siteMapBuilderService.AddNode(permissionNode, adminNode, Permissions.AllowAdministerPermissions); }
protected virtual void RegisterSiteMapInformation(ISiteMapBuilderService siteMapBuilderService) { SiteMapNodeInfo moduleNode = new SiteMapNodeInfo("CustomerManager", "~/CustomerManager/Default.aspx", "Customers"); siteMapBuilderService.AddNode(moduleNode); SiteMapNodeInfo searchNode = new SiteMapNodeInfo("SearchCustomer", "~/CustomerManager/SearchCustomer.aspx", "Search"); siteMapBuilderService.AddNode(searchNode, moduleNode); // TODO: register other site map nodes that CustomerManager module might provide }
public void CanBuildSimpleTree() { SiteMapBuilderService service = new SiteMapBuilderService(); SiteMapNodeInfo child = new SiteMapNodeInfo("child"); SiteMapNodeInfo grandChild = new SiteMapNodeInfo("grandChild"); service.AddNode(child); service.AddNode(grandChild, child); Assert.IsTrue(service.GetChildren(service.RootNode.Key).Contains(child)); Assert.IsTrue(service.GetChildren(child.Key).Contains(grandChild)); }
public void CanSpecifyAuthorizationRuleWhenAddingChildNode() { SiteMapBuilderService service = new SiteMapBuilderService(); SiteMapNodeInfo parent = new SiteMapNodeInfo("parent"); SiteMapNodeInfo child = new SiteMapNodeInfo("child"); service.AddNode(parent); service.AddNode(child, parent, "rule"); Assert.IsNull(service.GetAuthorizationRule(parent.Key)); Assert.AreEqual("rule", service.GetAuthorizationRule(child.Key)); }
public void AdminModuleInitializerGetsRegisterOnSiteMapAdministerPermissionsAsChildNode() { TestableModule module = new TestableModule(); SiteMapBuilderService service = new SiteMapBuilderService(); module.TestRegisterSiteMapInformation(service); SiteMapNodeInfo node = service.GetChildren(service.RootNode.Key)[0]; Assert.AreEqual(1, service.GetChildren(node.Key).Count); Assert.AreEqual("AllowAdministerPermissions", service.GetAuthorizationRule(service.GetChildren(node.Key)[0].Key)); }
public void TestCanInitializeWithKeyUrlAndTitle() { SiteMapNodeInfo node = new SiteMapNodeInfo("Key", "Url", "Title"); Assert.AreEqual("Key", node.Key); Assert.AreEqual("Url", node.Url); Assert.AreEqual("Title", node.Title); Assert.IsNull(node.Description); Assert.IsNull(node.Roles); Assert.IsNull(node.Attributes); Assert.IsNull(node.ExplicitResourcesKey); Assert.IsNull(node.ImplicitResourceKey); }
public void AddTwoNodesWorks() { SiteMapBuilderService service = new SiteMapBuilderService(); SiteMapNodeInfo node1 = new SiteMapNodeInfo("node1"); SiteMapNodeInfo node2 = new SiteMapNodeInfo("node2"); service.AddNode(node1); service.AddNode(node2); Assert.AreEqual(2, service.GetChildren(service.RootNode.Key).Count); Assert.IsTrue(service.GetChildren(service.RootNode.Key).Contains(node1)); Assert.IsTrue(service.GetChildren(service.RootNode.Key).Contains(node2)); }
public void ThrowsWhenSpecifyingNullAuthorizationRule() { SiteMapBuilderService service = new SiteMapBuilderService(); SiteMapNodeInfo parent = new SiteMapNodeInfo("parent"); string rule = null; service.AddNode(parent, rule); }
public void GetChildrenReturnsTwoTopLevelNodesInDisplayOrder() { ISiteMapBuilderService service = new SiteMapBuilderService(); SiteMapNodeInfo node1 = new SiteMapNodeInfo("node1"); SiteMapNodeInfo node2 = new SiteMapNodeInfo("node2"); service.AddNode(node2, 2); service.AddNode(node1, 1); Assert.IsTrue(service.GetChildren(service.RootNode.Key).Contains(node1)); Assert.IsTrue(service.GetChildren(service.RootNode.Key).Contains(node2)); Assert.AreSame(node1, service.GetChildren(service.RootNode.Key)[0]); Assert.AreSame(node2, service.GetChildren(service.RootNode.Key)[1]); }
/// <summary> /// Adds a node with an authorization rule as child of another node. /// </summary> /// <param name="node">The node to add.</param> /// <param name="parent">The node under which to add the new node.</param> /// <param name="authorizationRule">The authorizarion rule required to access the node.</param> public void AddNode(SiteMapNodeInfo node, SiteMapNodeInfo parent, string authorizationRule) { AddNode(node, parent, authorizationRule, int.MaxValue); }
/// <summary> /// Adds a node as a child of another node, and sets the order with which to display the node. /// </summary> /// <param name="node">The node to add.</param> /// <param name="parent">The node under which to add the new node.</param> /// <param name="preferredDisplayOrder">The node display order.</param> public void AddNode(SiteMapNodeInfo node, SiteMapNodeInfo parent, int preferredDisplayOrder) { SafeAddNode(node); if (!_childNodes.ContainsKey(parent.Key)) { _childNodes.Add(parent.Key, new List<SiteMapNodeInfo>()); } AddNodeWithOrder(parent.Key, node, preferredDisplayOrder); }
public void GetChildrenReturnsChildNodesInDisplayOrder() { ISiteMapBuilderService service = new SiteMapBuilderService(); SiteMapNodeInfo parent = new SiteMapNodeInfo("parent"); SiteMapNodeInfo toplevel = new SiteMapNodeInfo("toplevel"); SiteMapNodeInfo child1 = new SiteMapNodeInfo("child1"); SiteMapNodeInfo child2 = new SiteMapNodeInfo("child2"); service.AddNode(toplevel); service.AddNode(parent, 1); service.AddNode(child2, parent); service.AddNode(child1, parent, 100); Assert.AreSame(parent, service.GetChildren(service.RootNode.Key)[0]); Assert.AreSame(toplevel, service.GetChildren(service.RootNode.Key)[1]); Assert.AreSame(child1, service.GetChildren(parent.Key)[0]); Assert.AreSame(child2, service.GetChildren(parent.Key)[1]); }
public void GetChildrenReturnsProperDisplayOrderWhenSeveralDoNotSpecifyPreference() { ISiteMapBuilderService service = new SiteMapBuilderService(); SiteMapNodeInfo node1 = new SiteMapNodeInfo("node1"); SiteMapNodeInfo node2 = new SiteMapNodeInfo("node2"); SiteMapNodeInfo node3 = new SiteMapNodeInfo("node3"); SiteMapNodeInfo node4 = new SiteMapNodeInfo("node4"); service.AddNode(node2, 2); service.AddNode(node3); service.AddNode(node1, 1); service.AddNode(node4); Assert.IsTrue(service.GetChildren(service.RootNode.Key).Contains(node1)); Assert.IsTrue(service.GetChildren(service.RootNode.Key).Contains(node2)); Assert.IsTrue(service.GetChildren(service.RootNode.Key).Contains(node3)); Assert.IsTrue(service.GetChildren(service.RootNode.Key).Contains(node4)); Assert.AreSame(node1, service.GetChildren(service.RootNode.Key)[0]); Assert.AreSame(node2, service.GetChildren(service.RootNode.Key)[1]); Assert.AreSame(node3, service.GetChildren(service.RootNode.Key)[2]); Assert.AreSame(node4, service.GetChildren(service.RootNode.Key)[3]); }
public void GetChildrenReturnsThreeTopLevelNodesInDisplayOrderWhenOneDoesNotSpecifyPreference() { ISiteMapBuilderService service = new SiteMapBuilderService(); SiteMapNodeInfo node1 = new SiteMapNodeInfo("node1"); SiteMapNodeInfo node2 = new SiteMapNodeInfo("node2"); SiteMapNodeInfo node3 = new SiteMapNodeInfo("node3"); service.AddNode(node2, 2); service.AddNode(node3); service.AddNode(node1, 1); Assert.IsTrue(service.GetChildren(service.RootNode.Key).Contains(node1)); Assert.IsTrue(service.GetChildren(service.RootNode.Key).Contains(node2)); Assert.IsTrue(service.GetChildren(service.RootNode.Key).Contains(node3)); Assert.AreSame(node1, service.GetChildren(service.RootNode.Key)[0]); Assert.AreSame(node2, service.GetChildren(service.RootNode.Key)[1]); Assert.AreSame(node3, service.GetChildren(service.RootNode.Key)[2]); }
/// <summary> /// Adds a node as a child of the root node and sets the order with which the node should be displayed. /// </summary> /// <param name="node">The node to add.</param> /// <param name="preferredDisplayOrder">The node display order.</param> public void AddNode(SiteMapNodeInfo node, int preferredDisplayOrder) { SafeAddNode(node); AddNodeWithOrder(RootNode.Key, node, preferredDisplayOrder); }
/// <summary> /// Adds a node as a child of another node. /// </summary> /// <param name="node">The node to add.</param> /// <param name="parent">The node under which to add the new node.</param> public void AddNode(SiteMapNodeInfo node, SiteMapNodeInfo parent) { AddNode(node, parent, int.MaxValue); }
private void AddNodeWithOrder(string parentKey, SiteMapNodeInfo node, int preferredDisplayOrder) { _nodePreferredOrder.Add(node.Key, preferredDisplayOrder); for (int i = 0; i < _childNodes[parentKey].Count; i++) { string key = _childNodes[parentKey][i].Key; if (_nodePreferredOrder[key] > preferredDisplayOrder) { _childNodes[parentKey].Insert(i, node); return; } } _childNodes[parentKey].Add(node); }
/// <summary> /// Adds a node under the parent node, with the specified authorization rule and display order. /// </summary> /// <param name="node">The node to add.</param> /// <param name="parent">The node under which to add the new node.</param> /// <param name="authorizationRule">The authorizarion rule required to access the node.</param> /// <param name="preferredDisplayOrder">The node display order.</param> public void AddNode(SiteMapNodeInfo node, SiteMapNodeInfo parent, string authorizationRule, int preferredDisplayOrder) { AddNode(node, parent, preferredDisplayOrder); _nodeAuthorization.Add(node.Key, authorizationRule); }
/// <summary> /// Adds a node as child of the root node. /// </summary> /// <param name="node">The node to add.</param> public void AddNode(SiteMapNodeInfo node) { AddNode(node, int.MaxValue); //_childNodes[RootNode.Key].Add(node); }
private SiteMapNode CreateSiteMapNode(SiteMapNodeInfo nodeInfo) { return new SiteMapNode(this, nodeInfo.Key, nodeInfo.Url, nodeInfo.Title, nodeInfo.Description, nodeInfo.Roles, nodeInfo.Attributes, nodeInfo.ExplicitResourcesKey, nodeInfo.ImplicitResourceKey); }