170 lines
No EOL
7.8 KiB
C#
170 lines
No EOL
7.8 KiB
C#
/*===========================================================================================================================
|
||
* Instituto Costarricense de Acueductos y Alcantarillados. - 2015
|
||
* Control de Usuario: cuwMenu.ascx
|
||
*
|
||
* Explicación de los contenidos del archivo
|
||
*===========================================================================================================================
|
||
* HISTORIAL
|
||
*
|
||
* PERSONA DIA – MES - AÑO DESCRIPCIÓN
|
||
* Esteban Gutierrez Rapso 13 – 04 - 2015 Se inicia con el diseño de la pagina
|
||
* …………………………………………………………
|
||
* …………………………………………………………
|
||
*===========================================================================================================================
|
||
* Derechos Reservados (C) 2015 AyA.
|
||
* ESTE CÓDIGO ES PROVEÍDO “TAL CUAL ES” SIN GARANTÍA ALGUNA
|
||
* DE NINGÚN TIPO, SEA IMPLICITA O EXPLICITA.
|
||
* NO SE PERMITE SU REPRODUCCIÓN PARCIAL O TOTAL, NI SU COMERCIALIZACIÓN
|
||
*===========================================================================================================================
|
||
*/
|
||
|
||
using System;
|
||
using System.Collections.Generic;
|
||
using System.Data;
|
||
using System.Web;
|
||
using System.Web.UI;
|
||
using System.Web.UI.WebControls;
|
||
|
||
using AyABL.AUT.Encripta;
|
||
using AyABL.APL;
|
||
using System.Configuration;
|
||
|
||
public partial class ControlUsuario_cuwMenu : System.Web.UI.UserControl
|
||
{
|
||
protected void Page_Load(object sender, EventArgs e)
|
||
{
|
||
string strURL = null;
|
||
EncriptaBL objEncripta;
|
||
|
||
|
||
if ((!IsPostBack) && (Session.Count > 0))
|
||
{
|
||
try
|
||
{
|
||
ItemMenuBL objItemMenuBL = new ItemMenuBL();
|
||
|
||
//Carga los parametros
|
||
objItemMenuBL.objItemMenuEL.Rol = Int32.Parse(Session["PKROL"].ToString());
|
||
objItemMenuBL.objItemMenuEL.Aplicacion = Convert.ToInt32(ConfigurationManager.AppSettings["pkApp"]);
|
||
|
||
//Se carga el dataset con la información del rol para poder desplegar los items
|
||
DataSet menuDS = objItemMenuBL.dsCargarMenu(objItemMenuBL.objItemMenuEL);
|
||
|
||
//Limpia los items del menu
|
||
mnuMenu.Items.Clear();
|
||
|
||
|
||
// si hay datos
|
||
if (menuDS != null)
|
||
{
|
||
foreach (DataRow drItemMenu in menuDS.Tables[0].Rows)
|
||
{
|
||
objEncripta = new EncriptaBL();
|
||
|
||
strURL = "l=" + objEncripta.Encryptar(Session["LOGIN"].ToString()) + "&u=" + objEncripta.Encryptar(Session["PKUSUARIO"].ToString());
|
||
|
||
//Se crea un arreglo para guardar los hijos
|
||
DataRow[] drArray;
|
||
|
||
//El arreglo captura todos los items que son hijos
|
||
drArray = menuDS.Tables[0].Select("PADREITEMMENU = " + drItemMenu["PKITEMMENU"],"ORDENITEMMENU");
|
||
|
||
// si es un hijo o un nieto de alguien
|
||
if (drItemMenu["PADREITEMMENU"].ToString() != "-1")
|
||
{
|
||
MenuItem mniItemMenu;
|
||
|
||
//Instanciar la variable que maneja el menu
|
||
if (drItemMenu["URLITEMMENU"].ToString() == "")
|
||
{
|
||
mniItemMenu = new MenuItem(drItemMenu["ETIQUETAITEMMENU"].ToString(),
|
||
drItemMenu["PKITEMMENU"].ToString(),
|
||
null);
|
||
}
|
||
else
|
||
{
|
||
mniItemMenu = new MenuItem(drItemMenu["ETIQUETAITEMMENU"].ToString(),
|
||
drItemMenu["PKITEMMENU"].ToString(),
|
||
null,
|
||
drItemMenu["URLITEMMENU"].ToString() + "?" +
|
||
strURL);
|
||
}
|
||
|
||
foreach (MenuItem mI in mnuMenu.Items)
|
||
{
|
||
// si el item actual del menu es el padre del que estoy leyendo
|
||
if (mI.Value.ToString() == drItemMenu["PADREITEMMENU"].ToString())
|
||
{
|
||
mI.ChildItems.Add(mniItemMenu);
|
||
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() == drItemMenu["PADREITEMMENU"].ToString())
|
||
{
|
||
mIHijos.ChildItems.Add(mniItemMenu);
|
||
break;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
else
|
||
{
|
||
objEncripta = new EncriptaBL();
|
||
|
||
//Instanciar la variable que maneja el menu
|
||
MenuItem mniItemMenu = new MenuItem(drItemMenu["ETIQUETAITEMMENU"].ToString(),
|
||
drItemMenu["PKITEMMENU"].ToString(),
|
||
null,
|
||
drItemMenu["URLITEMMENU"].ToString() + "?" +
|
||
strURL);
|
||
|
||
// Si es raíz
|
||
|
||
mnuMenu.Items.Add(mniItemMenu);
|
||
}
|
||
}
|
||
}
|
||
|
||
//eliminar la variable de sesion para solicitudes
|
||
if (!Request.UrlReferrer.ToString().Contains("frwBusquedaSolicitud") && !Request.UrlReferrer.ToString().Contains("frwNuevaSolicitud") && !Request.UrlReferrer.ToString().Contains("frwProgramacionTrabajo") && !Request.UrlReferrer.ToString().Contains("frwGestionarTrabajo") && !Request.UrlReferrer.ToString().Contains("frwAgendaSolicitud"))
|
||
Session.Remove("SOLICITUD");
|
||
|
||
// mnuMenu.Enabled = false;
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
throw ex;
|
||
}
|
||
}
|
||
//if (Request.UrlReferrer.ToString().Contains("frwNuevaSolicitud"))
|
||
//{
|
||
// if (Session["Menu"] != null)
|
||
// {
|
||
// if (Session["Menu"].ToString() == "SI")
|
||
// {
|
||
// mnuMenu.Enabled = false;
|
||
// Session.Remove("Menu");
|
||
// }
|
||
// else
|
||
// {
|
||
|
||
// mnuMenu.Enabled = true;
|
||
// Session.Remove("Menu");
|
||
// }
|
||
// }
|
||
//}
|
||
|
||
}
|
||
|
||
public bool EnabledMenu
|
||
{
|
||
get { return mnuMenu.Enabled; }
|
||
set { mnuMenu.Enabled = value; }
|
||
}
|
||
} |