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

170 lines
7.8 KiB
C#
Raw Normal View History

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