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