protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { BuildTreeView(); RadTreeViewContextMenu mnu1 = new RadTreeViewContextMenu(); mnu1.ID = "top"; RadMenuItem mnuRename = new RadMenuItem("Rename"); RadMenuItem mnuDelete = new RadMenuItem("Delete"); mnu1.Items.Add(mnuRename); mnu1.Items.Add(mnuDelete); RadTreeViewContextMenu mnu2 = new RadTreeViewContextMenu(); mnu2.ID = "leaf"; RadMenuItem mnuOpen = new RadMenuItem("Open"); RadMenuItem mnuDeleteEmail = new RadMenuItem("Delete"); mnu2.Items.Add(mnuOpen); mnu2.Items.Add(mnuDeleteEmail); RadTreeView1.ContextMenus.Add(mnu1); RadTreeView1.ContextMenus.Add(mnu2); } }
/// <summary> /// Creates the context menu on the basis of asset type /// </summary> public void CreateContextMenu() { XmlNode xmlNodeAssetTree = GetCurrentLevelNode(0); XmlNode xmlNodeFirstChild = xmlNodeAssetTree.FirstChild.FirstChild; string strAsset = string.Empty; RadTreeViewContextMenu contextMenu = null; while(xmlNodeFirstChild != null) { strAsset = GetNodeAttributeValue(xmlNodeFirstChild, AssetTreeConstants.ASSETNAME); contextMenu = new RadTreeViewContextMenu(); contextMenu.ID = AssetTreeConstants.CONTEXTMENUIDPREFIX + strAsset; LoadContextSearchProfile(strAsset, contextMenu); trvAssetTree.ContextMenus.Add(contextMenu); xmlNodeFirstChild = xmlNodeFirstChild.FirstChild; } }
/// <summary> /// Renders the context search from user profile. /// </summary> /// <param name="contextSearchProfile">The context search profile.</param> /// <param name="assetType">Type of the asset.</param> /// <param name="contextMenu">The context menu.</param> private void RenderContextSearchFromUserProfile(XmlDocument contextSearchProfile, string assetType, RadTreeViewContextMenu contextMenu) { //All group headers and their order is taken fron user role contextsearch profile //loop for group header starts //if (true)//context search links are saved for current group header //{ // //only populate context search links saved in profile as display true in their saved order //} //else//context search links are not saved for current group header //{ // //get all the context search list for current asset and current group header from context search list //} //ends SiteMapNodeCollection contextSearchItemCol = null; ArrayList arlGroupHeaders = null; RadMenuItem menuItemGrpHdr = null; XmlNodeList xmlNodeLstContextSearch = null; string strCamlQuery = string.Empty; arlGroupHeaders = GetProfileGroupHeaders(contextSearchProfile, assetType); XmlNode xmlNodeGroupHeaders = contextSearchProfile.SelectSingleNode("contextsearches/groupheaders[@asset = '" + assetType + "']"); if(arlGroupHeaders != null && arlGroupHeaders.Count > 0) { foreach(string strGroupHeader in arlGroupHeaders) { menuItemGrpHdr = new RadMenuItem(); menuItemGrpHdr.Text = strGroupHeader; menuItemGrpHdr.Value = AssetTreeConstants.MENUHEADERVALUE; contextMenu.Items.Add(menuItemGrpHdr); xmlNodeLstContextSearch = xmlNodeGroupHeaders.SelectNodes("groupheader[@name = '" + strGroupHeader + "']/contextsearch[@display = 'true']"); if(xmlNodeLstContextSearch != null && xmlNodeLstContextSearch.Count > 0)//context search links are saved for current group header { //only populate context search links saved in profile as display true in their saved order foreach(XmlNode node in xmlNodeLstContextSearch) { strCamlQuery = "<Where><And><Eq><FieldRef Name=\"Asset_x0020_Type\" /><Value Type=\"Lookup\">" + assetType + "</Value></Eq><And><Eq><FieldRef Name=\"Active\" /><Value Type=\"Boolean\">1</Value></Eq><And><Eq><FieldRef Name=\"Group_x0020_Header\" /><Value Type=\"Choice\">" + strGroupHeader + "</Value></Eq><Eq><FieldRef Name=\"Title\" /><Value Type=\"Text\">" + node.Attributes["name"].Value + "</Value></Eq></And></And></And></Where>"; contextSearchItemCol = ((MOSSServiceManager)objMossController).GetChachedListItems(strSiteURL, AssetTreeConstants.CONTEXTSEARCHLIST, strCamlQuery); if(contextSearchItemCol != null && contextSearchItemCol.Count > 0) { CreateContextSearchMenuItem(assetType, menuItemGrpHdr, (PortalListItemSiteMapNode)contextSearchItemCol[0]); } } //adding EPCatalog report options in context search if(strGroupHeader.ToLower().Equals("documents")) { CreatePVTReportMenuItem(assetType, menuItemGrpHdr); } // } else { strCamlQuery = "<Where><And><Eq><FieldRef Name=\"Asset_x0020_Type\" /><Value Type=\"Lookup\">" + assetType + "</Value></Eq><And><Eq><FieldRef Name=\"Group_x0020_Header\" /><Value Type=\"Choice\">" + strGroupHeader + "</Value></Eq><Eq><FieldRef Name=\"Active\" /><Value Type=\"Boolean\">1</Value></Eq></And></And></Where><OrderBy><FieldRef Name=\"LinkOrder\" Ascending=\"True\" /><FieldRef Name=\"Title\" Ascending=\"True\" /></OrderBy>"; contextSearchItemCol = ((MOSSServiceManager)objMossController).GetChachedListItems(strSiteURL, AssetTreeConstants.CONTEXTSEARCHLIST, strCamlQuery); if((contextSearchItemCol != null) && (contextSearchItemCol.Count > 0)) { foreach(PortalListItemSiteMapNode listItem in contextSearchItemCol) { CreateContextSearchMenuItem(assetType, menuItemGrpHdr, listItem); } //adding EPCatalog report options in context search if(strGroupHeader.ToLower().Equals("documents")) { CreatePVTReportMenuItem(assetType, menuItemGrpHdr); } // } } } } }
/// <summary> /// Loads the context search profile. /// </summary> /// <param name="asset">The asset.</param> /// <param name="contextMenu">The context menu.</param> private void LoadContextSearchProfile(string asset, RadTreeViewContextMenu contextMenu) { XmlDocument xmlDocContextSearch = GetContextSearchProfile(); if(xmlDocContextSearch != null)//role context search xml does exist { if(xmlDocContextSearch.SelectSingleNode("contextsearches/groupheaders[@asset = '" + asset + "']") != null)//Context search profile saved for current asset { RenderContextSearchFromUserProfile(xmlDocContextSearch, asset, contextMenu); } else//Context search profile not saved for current asset { //get default order for all group headers and context links fron context search list CreateContextSearchMenuFromSPList(asset, contextMenu); } } else//user role context search xml does not exist { //get default order for all group headers and context links fron context search list CreateContextSearchMenuFromSPList(asset, contextMenu); } }
/// <summary> /// Creates the context search menu from SP list. /// </summary> /// <param name="strAsset">The STR asset.</param> /// <param name="contextMenu">The context menu.</param> private void CreateContextSearchMenuFromSPList(string strAsset, RadTreeViewContextMenu contextMenu) { ArrayList arrDistinctGrpHdr = new ArrayList(); string strCamlQueryGroupHdr = string.Empty; string strCamlQueryContextItem = string.Empty; string strGrpHdr = string.Empty; RadMenuItem menuItemGrpHdr = null; SiteMapNodeCollection siteMapNodeColContextLink = null; strCamlQueryGroupHdr = "<Where><And><Eq><FieldRef Name=\"Asset_x0020_Type\" /><Value Type=\"Lookup\">" + strAsset + "</Value></Eq><Eq><FieldRef Name=\"Active\" /><Value Type=\"Boolean\">1</Value></Eq></And></Where><OrderBy><FieldRef Name='HeaderOrder' Ascending='True' /><FieldRef Name='Group_x0020_Header' Ascending='True' /></OrderBy>"; SiteMapNodeCollection siteMapNodeColGroupHeader = ((MOSSServiceManager)objMossController).GetChachedListItems(strSiteURL, AssetTreeConstants.CONTEXTSEARCHLIST, strCamlQueryGroupHdr); foreach(PortalListItemSiteMapNode siteMapNodeGroupHeader in siteMapNodeColGroupHeader) { strGrpHdr = (string)siteMapNodeGroupHeader[AssetTreeConstants.GROUPHEADERCOLNAME]; if(arrDistinctGrpHdr.Contains(strGrpHdr)) { continue; } else { arrDistinctGrpHdr.Add(strGrpHdr); } menuItemGrpHdr = new RadMenuItem(); menuItemGrpHdr.Text = strGrpHdr; menuItemGrpHdr.Value = AssetTreeConstants.MENUHEADERVALUE; contextMenu.Items.Add(menuItemGrpHdr); strCamlQueryContextItem = "<Where><And><Eq><FieldRef Name=\"Asset_x0020_Type\" /><Value Type=\"Lookup\">" + strAsset + "</Value></Eq><And><Eq><FieldRef Name=\"Group_x0020_Header\" /><Value Type=\"Choice\">" + strGrpHdr + "</Value></Eq><Eq><FieldRef Name=\"Active\" /><Value Type=\"Boolean\">1</Value></Eq></And></And></Where><OrderBy><FieldRef Name=\"LinkOrder\" Ascending=\"True\" /><FieldRef Name=\"Title\" Ascending=\"True\" /></OrderBy>"; siteMapNodeColContextLink = ((MOSSServiceManager)objMossController).GetChachedListItems(strSiteURL, AssetTreeConstants.CONTEXTSEARCHLIST, strCamlQueryContextItem); foreach(PortalListItemSiteMapNode siteMapNodeContextLink in siteMapNodeColContextLink) { CreateContextSearchMenuItem(strAsset, menuItemGrpHdr, siteMapNodeContextLink); } //adding EPCatalog report link if(strGrpHdr.ToLowerInvariant().Equals("documents")) { CreatePVTReportMenuItem(strAsset, menuItemGrpHdr); } } }
protected void Page_Load(object sender, EventArgs e) { List <CatCNac_Estructura> hijosPrimerNodo = null; RadTreeNode nodoOrigen = null; int id_ClienteMat = Int32.Parse(Request.QueryString["Id"]); string NombreCliente = Request.QueryString["Nombre"]; nodoOrigen = new RadTreeNode(NombreCliente, "0"); nodoOrigen.Font.Bold = true; nodoOrigen.Font.Size = 11; var permisos = new PermisosSesion(this.Page); permisos.ValidarSesion(); if (!Page.IsPostBack) { //permisos.ValidarPermisos(this.rtb1); CN_CatCNac_Estructura cm_Estr = new CN_CatCNac_Estructura(model); listEstructura = cm_Estr.ConsultarTodos(id_ClienteMat); CN_CatClienteMatriz cm_Matriz = new CN_CatClienteMatriz(model); matriz = cm_Matriz.ConsultarMatrizItem(id_ClienteMat); CN_CatCNac_ACYS cm_ACYS = new CN_CatCNac_ACYS(model); listaACYS = cm_ACYS.ConsultarACYS(id_ClienteMat); if (matriz.Nivel_1.Value) { nivelMax = 1; } if (matriz.Nivel_2.Value) { nivelMax = 2; } if (matriz.Nivel_3.Value) { nivelMax = 3; } if (matriz.Nivel_4.Value) { nivelMax = 4; } hijosPrimerNodo = listEstructura.Where(x => x.Nivel == 1).ToList(); ConstruirEstructura(ref nodoOrigen, hijosPrimerNodo); treeEstructura.Nodes.Add(nodoOrigen); //Menus RadMenuItem menuNuevo = new RadMenuItem("Nuevo..."); menuNuevo.Value = "Nuevo"; RadMenuItem menuBorrar = new RadMenuItem("Borrar"); menuBorrar.Value = "Borrar"; RadMenuItem menuAsignar = new RadMenuItem("Asignar"); menuAsignar.Value = "Asignar"; //RadMenuItem menuAsignar1 = new RadMenuItem("Asignar1"); RadMenuItem menuNuevo_A = new RadMenuItem("Nuevo..."); menuNuevo_A.Value = "Nuevo"; RadMenuItem menuBorrar_A = new RadMenuItem("Borrar"); menuBorrar_A.Value = "Borrar"; RadMenuItem menuAsignar_A = new RadMenuItem("Asignar"); menuAsignar_A.Value = "Asignar"; //RadMenuItem menuAsignar1_A = new RadMenuItem("Asignar1"); //menuAsignar1_A.Value = "Asignar1"; //RadMenuItem menuAsignar2_A = new RadMenuItem("Asignar2"); //menuAsignar2_A.Value = "Asignar2"; RadMenuItem menuNuevo_B = new RadMenuItem("Nuevo..."); menuNuevo_B.Value = "Nuevo"; RadMenuItem menuBorrar_B = new RadMenuItem("Borrar"); menuBorrar_B.Value = "Borrar"; RadMenuItem menuAsignar_B = new RadMenuItem("Asignar"); menuAsignar_B.Value = "Asignar"; //RadMenuItem menuAsignar1_B = new RadMenuItem("Asignar1"); //menuAsignar1_B.Value = "Asignar1"; //RadMenuItem menuAsignar2_B = new RadMenuItem("Asignar2"); //menuAsignar2_B.Value = "Asignar2"; //RadMenuItem menuAsignar3_B = new RadMenuItem("Asignar3"); //menuAsignar3_B.Value = "Asignar3"; RadMenuItem menuNuevo_C = new RadMenuItem("Nuevo..."); menuNuevo_C.Value = "Nuevo"; RadMenuItem menuBorrar_C = new RadMenuItem("Borrar"); menuBorrar_C.Value = "Borrar"; RadMenuItem menuAsignar_C = new RadMenuItem("Asignar"); menuAsignar_C.Value = "Asignar"; RadMenuItem menuAsignar1_C = new RadMenuItem("Asignar1"); menuAsignar1_C.Value = "Asignar1"; RadMenuItem menuAsignar2_C = new RadMenuItem("Asignar2"); menuAsignar2_C.Value = "Asignar2"; RadMenuItem menuAsignar3_C = new RadMenuItem("Asignar3"); menuAsignar3_C.Value = "Asignar3"; RadMenuItem menuAsignar4_C = new RadMenuItem("Asignar4"); menuAsignar4_C.Value = "Asignar4"; RadTreeViewContextMenu menuNodos1 = new RadTreeViewContextMenu(); menuNodos1.ID = "menuNodos1"; menuNodos1.Items.Add(menuNuevo); menuNodos1.Items.Add(menuBorrar); menuNodos1.Items.Add(menuAsignar); ; RadTreeViewContextMenu menuNodos2 = new RadTreeViewContextMenu(); menuNodos2.ID = "menuNodos2"; menuNodos2.Items.Add(menuNuevo_A); menuNodos2.Items.Add(menuBorrar_A); menuNodos2.Items.Add(menuAsignar_A); RadTreeViewContextMenu menuNodos3 = new RadTreeViewContextMenu(); menuNodos3.ID = "menuNodos3"; menuNodos3.Items.Add(menuNuevo_B); menuNodos3.Items.Add(menuBorrar_B); menuNodos3.Items.Add(menuAsignar_B); RadTreeViewContextMenu menuNodos4 = new RadTreeViewContextMenu(); menuNodos4.ID = "menuNodos4"; menuNodos4.Items.Add(menuNuevo_C); menuNodos4.Items.Add(menuBorrar_C); menuNodos4.Items.Add(menuAsignar_C); menuNodos4.Items.Add(menuAsignar1_C); menuNodos4.Items.Add(menuAsignar2_C); menuNodos4.Items.Add(menuAsignar3_C); menuNodos4.Items.Add(menuAsignar4_C); treeEstructura.ContextMenus.Add(menuNodos1); treeEstructura.ContextMenus.Add(menuNodos2); treeEstructura.ContextMenus.Add(menuNodos3); treeEstructura.ContextMenus.Add(menuNodos4); AgregarControles(ref nodoOrigen, hijosPrimerNodo, null); // ConsultaTipos() CN_CatClienteMatriz cnMat = new CN_CatClienteMatriz(model); var sucursales = cnMat.ConsultaTipos(); listaSucursales = sucursales; var menuSuc = new RadMenuItem("Sucursales"); foreach (CatCDI suc in sucursales) { RadMenuItem itemAgregar = new RadMenuItem(suc.Id_Cd.ToString() + "-" + suc.Cd_Nombre); itemAgregar.Value = suc.Id_Cd.ToString(); menuSuc.Items.Add(itemAgregar); } var menuA = treeEstructura.ContextMenus[3]; menuA.Items.Add(menuSuc); var menuAsig1 = menuA.Items[3]; var acys1 = listaACYS.Where(x => x.NivelAcys == 1).ToList(); foreach (CatCNac_ACYS ac in acys1) { RadMenuItem itemAgregar = new RadMenuItem(ac.Nombre); itemAgregar.Value = "[ACYS]" + ac.Id.ToString(); menuAsig1.Items.Add(itemAgregar); } var menuAsig2 = menuA.Items[4]; var acys2 = listaACYS.Where(x => x.NivelAcys == 2).ToList(); foreach (CatCNac_ACYS ac in acys2) { RadMenuItem itemAgregar = new RadMenuItem(ac.Nombre); itemAgregar.Value = "[ACYS]" + ac.Id.ToString(); menuAsig2.Items.Add(itemAgregar); } var menuAsig3 = menuA.Items[5]; var acys3 = listaACYS.Where(x => x.NivelAcys == 3).ToList(); foreach (CatCNac_ACYS ac in acys3) { RadMenuItem itemAgregar = new RadMenuItem(ac.Nombre); itemAgregar.Value = "[ACYS]" + ac.Id.ToString(); menuAsig3.Items.Add(itemAgregar); } var menuAsig4 = menuA.Items[6]; var acys4 = listaACYS.Where(x => x.NivelAcys == 4).ToList(); foreach (CatCNac_ACYS ac in acys4) { RadMenuItem itemAgregar = new RadMenuItem(ac.Nombre); itemAgregar.Value = "[ACYS]" + ac.Id.ToString(); menuAsig4.Items.Add(itemAgregar); } var menuB = treeEstructura.ContextMenus[0]; foreach (CatCNac_ACYS ac in acys1) { RadMenuItem itemAgregar = new RadMenuItem(ac.Nombre); itemAgregar.Value = "[ACYS]" + ac.Id.ToString(); menuB.Items[2].Items.Add(itemAgregar); } var menuC = treeEstructura.ContextMenus[1]; foreach (CatCNac_ACYS ac in acys2) { RadMenuItem itemAgregar = new RadMenuItem(ac.Nombre); itemAgregar.Value = "[ACYS]" + ac.Id.ToString(); menuC.Items[2].Items.Add(itemAgregar); } var menuD = treeEstructura.ContextMenus[2]; foreach (CatCNac_ACYS ac in acys3) { RadMenuItem itemAgregar = new RadMenuItem(ac.Nombre); itemAgregar.Value = "[ACYS]" + ac.Id.ToString(); menuD.Items[2].Items.Add(itemAgregar); } } //hijosPrimerNodo = listEstructura.Where(x => x.Nivel == 1).ToList(); // treeEstructura.ExpandAllNodes(); }