TFS_ANTIGUO/SIGPC/ProyectoSIGPC/ControlUsuario/cuwMenu.ascx.cs

170 lines
No EOL
7.8 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/*===========================================================================================================================
* 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; }
}
}