private void ObtenerSubMenus(Biblioteca_Clases.Models.Menu pMenuHijos, List <Biblioteca_Clases.Models.Menu> plistaMenu) { try { List <Biblioteca_Clases.Models.Menu> listaMenuHijos = new List <Biblioteca_Clases.Models.Menu>(); List <Biblioteca_Clases.Models.Menu> listaMenuTieneHijos = new List <Biblioteca_Clases.Models.Menu>(); List <Biblioteca_Clases.Models.Menu> listaMenu = plistaMenu; listaMenuHijos = listaMenu.ToList().Where(x => x.CODIGO_PADRE == pMenuHijos.PK_ID_MENU.ToString()).ToList(); if (listaMenuHijos.Count == 0) { MenuPrincipal.InnerHtml += "<li><a class='nav-link' href='" + pMenuHijos.URL + "'><i class='" + pMenuHijos.ICONO + "'></i> " + pMenuHijos.DESCRIPCION + "</a></li>"; return; } MenuPrincipal.InnerHtml += "<li class='dropdown'>"; MenuPrincipal.InnerHtml += "<a class='nav-link dropdown-toggle' id='ND" + pMenuHijos.DESCRIPCION + "' role='button' " + "data-toggle = 'dropdown' aria-haspopup = 'true' aria-expanded = 'false' > " + " <i class='" + pMenuHijos.ICONO + "' aria-hidden='true'></i> " + pMenuHijos.DESCRIPCION + " </a>"; MenuPrincipal.InnerHtml += "<ul class='dropdown-menu' aria-labelledby='ND" + pMenuHijos.DESCRIPCION + "'>"; foreach (Biblioteca_Clases.Models.Menu iMenuHijos in listaMenuHijos) { ObtenerSubMenus(iMenuHijos, listaMenu); } MenuPrincipal.InnerHtml += "</ul>"; MenuPrincipal.InnerHtml += "</li>"; } catch (Exception ex) { string mesage = ex.Message; throw; } }
private void ObtenerSubmenus(TreeNode nodoPadre, Menu pMenuHijos, List <Menu> plistaMenu) { List <Menu> listaMenuHijos = new List <Menu>(); List <Menu> listaMenuTieneHijos = new List <Menu>(); List <Menu> listaMenu = plistaMenu; TreeNode nodoSubmenu; try { listaMenuHijos = listaMenu.ToList().Where(x => x.CODIGO_PADRE == pMenuHijos.PK_ID_MENU.ToString()).ToList(); // verificacion para identificar si el menu tiene submenus if (listaMenuHijos.Count > 0) { foreach (Menu submenu in listaMenuHijos) { nodoSubmenu = new TreeNode(); nodoSubmenu.Text = " <span><i class='" + submenu.ICONO + "' aria-hidden='true'></i> " + submenu.DESCRIPCION + "</span>"; nodoSubmenu.Value = "menu-" + submenu.PK_ID_MENU; // valor para identificar que el nodo pertenece a un menu nodoSubmenu.ShowCheckBox = true; nodoSubmenu.Checked = submenu.ESTADO_PERMISO ? true : false; ObtenerPermisos(nodoSubmenu, submenu.CREAR_MENU, submenu.EDITAR_MENU, submenu.VER_MENU, submenu.APROBACION_MENU, submenu.REENVIO_MENU, submenu.CREAR_PERMISO, submenu.EDITAR_PERMISO, submenu.VER_PERMISO, submenu.APROBACON_PERMISO, submenu.REENVIO_PERMISO, submenu.PK_ID_MENU ); ObtenerSubmenus(nodoSubmenu, submenu, listaMenu); nodoPadre.ChildNodes.Add(nodoSubmenu); } } } catch (Exception ex) { ScriptManager.RegisterStartupScript(Page, Page.GetType(), "modalErrorInformacion", "$('#modalErroInformacion').modal();", true); } }
private void CargarMenu() { try { Biblioteca_Clases.Models.Menu obMenuE = new Biblioteca_Clases.Models.Menu(); MenuDAO obMenuL = new MenuDAO(); // string usuarioLogin = (Session["LoginCRM"] as UsuarioE).PK_Usuario; List <Biblioteca_Clases.Models.Menu> listaMenuPadre = new List <Biblioteca_Clases.Models.Menu>(); List <Biblioteca_Clases.Models.Menu> listaMenuHijos = new List <Biblioteca_Clases.Models.Menu>(); List <Biblioteca_Clases.Models.Menu> listaMenu = new List <Biblioteca_Clases.Models.Menu>(); LoginDAO dao = new LoginDAO(); string Nombre = (string)(Session["User"]); int dato = dao.consultausuarioperfil(Nombre); listaMenu = obMenuL.consultamenu(dato, 1); listaMenuPadre = listaMenu.ToList().Where(x => x.CODIGO_PADRE == "0").ToList(); MenuPrincipal.InnerHtml = "<li class='nav - item'> <a class='nav-link' href='Home.aspx'><i class='fa fa-home'></i> Inicio<span class='sr-only'></span></a></li>"; foreach (Biblioteca_Clases.Models.Menu iMenu in listaMenuPadre) { listaMenuHijos = listaMenu.ToList().Where(x => x.CODIGO_PADRE == iMenu.PK_ID_MENU.ToString()).ToList(); if (listaMenuHijos.Count <= 0) { if (iMenu.CODIGO_PADRE == "0") { MenuPrincipal.InnerHtml += "<li class='nav - item'> <a class='nav-link' href='" + iMenu.URL + "'><i class='" + iMenu.ICONO + "'></i> " + iMenu.DESCRIPCION + "<span class='sr-only'></span></a></li>"; } } else { /*MENU HIJOS*/ if (iMenu.CODIGO_PADRE == "0") { MenuPrincipal.InnerHtml += "<li class='dropdown'>"; MenuPrincipal.InnerHtml += "<a class='nav-link dropdown-toggle' id='ND" + iMenu.DESCRIPCION + "' role='button' " + "data-toggle = 'dropdown' aria-haspopup = 'true' aria-expanded = 'false' > " + " <i class='" + iMenu.ICONO + "' aria-hidden='true'></i> " + iMenu.DESCRIPCION + " </a>"; MenuPrincipal.InnerHtml += "<ul class='dropdown-menu' aria-labelledby='ND" + iMenu.DESCRIPCION + "'>"; } foreach (Biblioteca_Clases.Models.Menu iMenuHijos in listaMenuHijos) { ObtenerSubMenus(iMenuHijos, listaMenu); } if (iMenu.CODIGO_PADRE == "0") { MenuPrincipal.InnerHtml += "</ul>"; MenuPrincipal.InnerHtml += "</li>"; } } } } catch (Exception ex) { string mesage = ex.Message; throw; } }