102 lines
No EOL
4.8 KiB
C#
102 lines
No EOL
4.8 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Data;
|
|
using System.Web;
|
|
using System.Web.UI;
|
|
using System.Web.UI.WebControls;
|
|
|
|
using AyABL;
|
|
using AyABL.AUT.Encripta;
|
|
using AyABL.SEG;
|
|
|
|
public partial class ControlUsuario_cuwMenu : System.Web.UI.UserControl
|
|
{
|
|
protected void Page_Load(object sender, EventArgs e)
|
|
{
|
|
if (!IsPostBack && Session["PKROL"] != null)
|
|
{
|
|
try
|
|
{
|
|
MenuBL objMenuBL = new MenuBL();
|
|
|
|
//Se carga el dataset con la información del rol para poder desplegar los items
|
|
DataSet menuDS = objMenuBL.cargarMenu(Convert.ToInt32(Session["PKROL"]));
|
|
|
|
//Limpia los items del menu
|
|
mnuMenu.Items.Clear();
|
|
|
|
// si hay datos
|
|
if (menuDS != null)
|
|
{
|
|
foreach (DataRow drMenu in menuDS.Tables[0].Rows)
|
|
{
|
|
//Se crea un arreglo para guardar los hijos
|
|
DataRow[] drArray;
|
|
|
|
//El arreglo captura todos los items que son hijos
|
|
drArray = menuDS.Tables[0].Select(String.Format("PADREMENU = {0}", drMenu["PKMENU"]));
|
|
|
|
// si es un hijo o un nieto de alguien
|
|
if (drMenu[Concepto.PADRE.ToString() + Tablas.menu.ToString()].ToString().ToUpper() != "-1")
|
|
{
|
|
MenuItem mniMenu;
|
|
|
|
//Instanciar la variable que maneja el menu
|
|
if (drMenu["URLMENU"].ToString() == "")
|
|
{
|
|
mniMenu = new MenuItem(drMenu[t_seg_menu.ETIQUETA.ToString() + Tablas.menu.ToString()].ToString(),
|
|
drMenu[Constraints.PK.ToString() + Tablas.menu.ToString()].ToString(),
|
|
null);
|
|
}
|
|
else
|
|
{
|
|
mniMenu = new MenuItem(drMenu[t_seg_menu.ETIQUETA.ToString() + Tablas.menu.ToString()].ToString(),
|
|
drMenu[Constraints.PK.ToString() + Tablas.menu.ToString()].ToString(),
|
|
null,
|
|
drMenu[t_seg_menu.URL.ToString() + Tablas.menu.ToString()].ToString());
|
|
}
|
|
|
|
foreach (MenuItem mI in mnuMenu.Items)
|
|
{
|
|
// si el item actual del menu es el papa del que estoy leyendo
|
|
if (mI.Value.ToString() == drMenu[Concepto.PADRE.ToString() + Tablas.menu.ToString()].ToString())
|
|
{
|
|
mI.ChildItems.Add(mniMenu);
|
|
break;
|
|
}
|
|
else
|
|
{
|
|
// pregunto si pertenece a alguno de los hijos del item actual
|
|
foreach (MenuItem mIHijos in mI.ChildItems)
|
|
{
|
|
// si el item actual del menu es el papa del que estoy leyendo
|
|
if (mIHijos.Value.ToString() == drMenu[Concepto.PADRE.ToString() + Tablas.menu.ToString()].ToString())
|
|
{
|
|
mIHijos.ChildItems.Add(mniMenu);
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
//Instanciar la variable que maneja el menu
|
|
MenuItem mniMenu = new MenuItem(drMenu[t_seg_menu.ETIQUETA.ToString() + Tablas.menu.ToString()].ToString(),
|
|
drMenu[Constraints.PK.ToString() + Tablas.menu.ToString()].ToString(),
|
|
null,
|
|
drMenu[t_seg_menu.URL.ToString() + Tablas.menu.ToString()].ToString());
|
|
|
|
// si es raíz
|
|
mnuMenu.Items.Add(mniMenu);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
|
|
}
|
|
}
|
|
}
|
|
} |