TFS_ANTIGUO/AYA.FROPI/FOPI/ControlUsuario/cuwMenu.ascx.cs
Administrador 50700fd78b Solución FROPI
git-tfs-id: [http://192.168.1.10:8080/tfs/AyA]$/SINORT;C491
2019-05-27 14:46:35 +00:00

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)
{
}
}
}
}