private static void doRec(Int64 parentID) { String sortExpression = SqlExpressionBuilder.PrepareSortExpression(ASSiteMapNode_DetailedEntity.FLD_NAME_SequenceNumber, SQLSortOrderType.Assending); String filterExpression = SqlExpressionBuilder.PrepareFilterExpression(ASSiteMapNode_DetailedEntity.FLD_NAME_ParentASSiteMapNodeID, parentID.ToString(), SQLMatchType.Equal); IList <ASSiteMapNode_DetailedEntity> aSSiteMapNode_DetailedEntityList = FCCASSiteMapNode_Detailed.GetFacadeCreate().GetIL(1, 1000000, sortExpression, filterExpression); if (aSSiteMapNode_DetailedEntityList != null && aSSiteMapNode_DetailedEntityList.Count > 0) { foreach (ASSiteMapNode_DetailedEntity aSSiteMapNode_DetailedEntity in aSSiteMapNode_DetailedEntityList) { doRec(aSSiteMapNode_DetailedEntity.ASSiteMapNodeID); Boolean hasPermission = false; if (aSSiteMapNode_DetailedEntity.ASPhysicalSiteMapID == null) { hasPermission = PermissionHelper.IsUerHasPermission(aSSiteMapNode_DetailedEntity.UniqueKey); } else if (aSSiteMapNode_DetailedEntity.ASPhysicalSiteMapID > 0) { hasPermission = PermissionHelper.IsUerHasPermission(aSSiteMapNode_DetailedEntity.ASPhysicalSiteMapUniqueKey); } if (hasPermission == true) { list.Add(aSSiteMapNode_DetailedEntity); } } } }
private void AddChildNodeToMenu(SiteMapNode currentNode, Int64 parentID) { //String ss = "a"; //File.AppendAllText("C://Test//test.txt", ss); String sortExpression = SqlExpressionBuilder.PrepareSortExpression(ASSiteMapNode_DetailedEntity.FLD_NAME_SequenceNumber, SQLSortOrderType.Assending); String filterExpression1 = "ASSiteMapNode." + SqlExpressionBuilder.PrepareFilterExpression(ASSiteMapNode_DetailedEntity.FLD_NAME_ASSiteMapID, aSSiteMapID.ToString(), SQLMatchType.Equal); String filterExpression2 = SqlExpressionBuilder.PrepareFilterExpression(ASSiteMapNode_DetailedEntity.FLD_NAME_ParentASSiteMapNodeID, parentID.ToString(), SQLMatchType.Equal); String filterExpression = SqlExpressionBuilder.PrepareFilterExpression(filterExpression1, SQLJoinType.AND, filterExpression2); IList <ASSiteMapNode_DetailedEntity> aSSiteMapNode_DetailedEntityList = FCCASSiteMapNode_Detailed.GetFacadeCreate().GetIL(1, 1000000, sortExpression, filterExpression); if (aSSiteMapNode_DetailedEntityList != null && aSSiteMapNode_DetailedEntityList.Count > 0) { foreach (ASSiteMapNode_DetailedEntity aSSiteMapNode_DetailedEntity in aSSiteMapNode_DetailedEntityList) { Boolean hasPermission = false; if (aSSiteMapNode_DetailedEntity.ASPhysicalSiteMapID == null) { hasPermission = PermissionHelper.IsUerHasPermission(aSSiteMapNode_DetailedEntity.UniqueKey); } else if (aSSiteMapNode_DetailedEntity.ASPhysicalSiteMapID > 0) { hasPermission = PermissionHelper.IsUerHasPermission(aSSiteMapNode_DetailedEntity.ASPhysicalSiteMapUniqueKey); } if (hasPermission == true) { SiteMapNode siteMapNode = new SiteMapNode(this, aSSiteMapNode_DetailedEntity.ASSiteMapNodeID.ToString()); siteMapNode.Title = aSSiteMapNode_DetailedEntity.MenuTitle; siteMapNode.Url = aSSiteMapNode_DetailedEntity.NavigationURL; siteMapNode.Description = aSSiteMapNode_DetailedEntity.ToolTip; AddNode(siteMapNode, currentNode); AddChildNodeToMenu(siteMapNode, aSSiteMapNode_DetailedEntity.ASSiteMapNodeID); } } } }
private static void CreateMenuSourceForLogedInUser() { try { list = new List <ASSiteMapNode_DetailedEntity>(); String sortExpression = SqlExpressionBuilder.PrepareSortExpression(ASSiteMapNode_DetailedEntity.FLD_NAME_SequenceNumber, SQLSortOrderType.Assending); String filterExpression1 = "ASSiteMapNode." + SqlExpressionBuilder.PrepareFilterExpression(ASSiteMapNode_DetailedEntity.FLD_NAME_ASSiteMapID, SecurityConstants.ASSiteMap.MASTER_NAVIGATION_MENU.ToString(), SQLMatchType.Equal); String filterExpression2 = SqlExpressionBuilder.PrepareFilterExpression(ASSiteMapNode_DetailedEntity.FLD_NAME_ParentASSiteMapNodeID, String.Empty, SQLMatchType.IsNull); String filterExpression = SqlExpressionBuilder.PrepareFilterExpression(filterExpression1, SQLJoinType.AND, filterExpression2); IList <ASSiteMapNode_DetailedEntity> aSSiteMapNode_DetailedEntityList = FCCASSiteMapNode_Detailed.GetFacadeCreate().GetIL(1, 1000000, sortExpression, filterExpression); if (aSSiteMapNode_DetailedEntityList != null && aSSiteMapNode_DetailedEntityList.Count > 0) { foreach (ASSiteMapNode_DetailedEntity aSSiteMapNode_DetailedEntity in aSSiteMapNode_DetailedEntityList) { AddMenuNode(aSSiteMapNode_DetailedEntity.ASSiteMapNodeID); break; } } System.Web.HttpContext.Current.Session[SessionConstants.MASTER_NAVIGATION_MENU_ITEMS] = list; } catch (Exception ex) { } }
public override SiteMapNode BuildSiteMap() { lock (_siteMapLock) { if (rootSiteMapNode != null) { return(rootSiteMapNode); } base.Clear(); String sortExpression = SqlExpressionBuilder.PrepareSortExpression(ASSiteMapNode_DetailedEntity.FLD_NAME_SequenceNumber, SQLSortOrderType.Assending); String filterExpression1 = "ASSiteMapNode." + SqlExpressionBuilder.PrepareFilterExpression(ASSiteMapNode_DetailedEntity.FLD_NAME_ASSiteMapID, aSSiteMapID.ToString(), SQLMatchType.Equal); String filterExpression2 = SqlExpressionBuilder.PrepareFilterExpression(ASSiteMapNode_DetailedEntity.FLD_NAME_ParentASSiteMapNodeID, String.Empty, SQLMatchType.IsNull); String filterExpression = SqlExpressionBuilder.PrepareFilterExpression(filterExpression1, SQLJoinType.AND, filterExpression2); IList <ASSiteMapNode_DetailedEntity> aSSiteMapNode_DetailedEntityList = FCCASSiteMapNode_Detailed.GetFacadeCreate().GetIL(1, 1000000, sortExpression, filterExpression); if (aSSiteMapNode_DetailedEntityList != null && aSSiteMapNode_DetailedEntityList.Count > 0) { rootSiteMapNode = new SiteMapNode(this, aSSiteMapNode_DetailedEntityList[0].ASSiteMapNodeID.ToString()); rootSiteMapNode.Title = aSSiteMapNode_DetailedEntityList[0].MenuTitle; rootSiteMapNode.Url = aSSiteMapNode_DetailedEntityList[0].NavigationURL; rootSiteMapNode.Description = aSSiteMapNode_DetailedEntityList[0].ToolTip; AddChildNodeToMenu(rootSiteMapNode, aSSiteMapNode_DetailedEntityList[0].ASSiteMapNodeID); if (rootSiteMapNode.ChildNodes.Count > 0) { AddNode(rootSiteMapNode); } else { rootSiteMapNode = null; } } return(rootSiteMapNode); } }