예제 #1
0
        private void CargarMenu(int perfil)
        {
            List <OpcionBE> lista = new List <OpcionBE>();

            lista = new OpcionBL().AccesoPerfil(perfil);

            //RECORREMOS LA LISTA PARA AGREGAR LOS ELEMENTOS QUE ESTARÁN EN LA CABECERA DEL MENÚ
            foreach (var item in lista)
            {
                // SI ES UNA OPCIÓN PADRE
                if (item.OpcionesId == Convert.ToInt32(item.PadreId))
                {
                    // ITEM QUE SE AGREGA AL MENU
                    MenuItem mnuMenuItem = new MenuItem();
                    mnuMenuItem.Value       = item.OpcionesId.ToString();
                    mnuMenuItem.Text        = item.DescOpciones;
                    mnuMenuItem.NavigateUrl = item.URL;
                    mnuMenuItem.ImageUrl    = item.Icono;

                    //AGREGAMOS EL ITEM AL MENÚ
                    Menu1.Items.Add(mnuMenuItem);

                    //AHORA MANDAMOS OTRO METODO, LO QUE HARA ES RECORRER NUEVAMENTE LA LISTA PARA VER CUALES SON SUS HIJO
                    //Y ASI PODER AGREGARLOS COMO SUBITEMS
                    //addSubItemMenu(mnuMenuItem, lista);
                }
            }
        }
예제 #2
0
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                #region Agregamos los css y javascript
                UtilitarioBL.AddClassMaster(this.Page);
                UtilitarioBL.AddScriptMaster(this.Page);
                #endregion

                #region Asignamos los HiddenField e imagenes
                EntidadDetalleBE rutaVirtualEstandar = new EntidadDetalleBE();
                rutaVirtualEstandar.Entidad.IdEntidad = "CONF";
                rutaVirtualEstandar.IdValor           = "RUTA_VIRT_EST";
                rutaVirtualEstandar         = EntidadDetalleBL.ListarEntidadDetalle(rutaVirtualEstandar)[0];
                hfRutaVirtualEstandar.Value = rutaVirtualEstandar.ValorCadena1;
                UtilitarioBL.AsignarImagen(rutaVirtualEstandar, imgLogo, "/images/LogoSIAE60.png");
                #endregion

                UsuarioBE    Usuario      = (UsuarioBE)Session["Usuario"];
                AplicacionBE aplicacionBE = (AplicacionBE)Session["Aplicacion"];

                if (Session["Usuario"] != null)
                {
                    lblIdUsuario.InnerText      = Usuario.IdUsuario;
                    lblNombreCompleto.InnerText = Usuario.NombreRazon + " " + Usuario.ApellidoPaterno;
                    lblPerfil.InnerText         = Usuario.Perfil.ValorCadena1;
                }
                else
                {
                    divUsuario.Visible = false;
                    btnUsuario.Visible = false;
                }

                #region Cargamos el menu de opciones
                if (Session["Aplicacion"] != null)
                {
                    if (aplicacionBE.Opciones.Count().Equals(0))
                    {
                        aplicacionBE.Opciones = OpcionBL.ListarOpciones(Usuario, aplicacionBE);
                    }
                    if (aplicacionBE.Opciones.Count() > 0)
                    {
                        StringBuilder sbOpciones       = new StringBuilder();
                        String        strIdOpcionPadre = "";
                        //Int32 intIteracion = 0;

                        sbOpciones.Append("<div class=\"container-fluid\">");
                        #region Div de navbar-toggle
                        sbOpciones.Append("<div class=\"navbar-header\">");
                        sbOpciones.Append("<button type=\"button\" class=\"navbar-toggle collapsed\" data-toggle=\"collapse\" data-target=\"#divMenu\">");
                        sbOpciones.Append("<span class=\"sr-only\">Menu</span>");
                        sbOpciones.Append("<span class=\"icon-bar\"></span>");
                        sbOpciones.Append("<span class=\"icon-bar\"></span>");
                        sbOpciones.Append("<span class=\"icon-bar\"></span>");
                        sbOpciones.Append("</button>");
                        sbOpciones.Append("</div>");
                        #endregion
                        #region Div de menu
                        sbOpciones.Append("<div class=\"collapse navbar-collapse\" id=\"divMenu\" runat=\"server\">");
                        sbOpciones.Append("<ul class=\"nav navbar-nav navbar-base-center\">");

                        foreach (OpcionBE item in aplicacionBE.Opciones)
                        {
                            IEnumerable <OpcionBE> OpcionesHijo = aplicacionBE.Opciones.Where(T => T.IdOpcionPadre == item.IdOpcion).Select(T => T);
                            String strCssSweepToTop             = "";
                            String strHref = "";
                            if (item.Orden.Length == 2)//Solo cuando es el primer nivel del menu
                            {
                                strCssSweepToTop = "hvr-base-sweep-to-top-primary";
                            }
                            if (item.URL != null && item.URL.ToString().Length > 0)//Solo si hay valor en la propiedad
                            {
                                strHref = "href=\"" + item.URL + "\"";
                            }

                            #region Comparamos el id del ultimo padre recorrido con el id padre de la opcion actual para cerrar el submenu
                            if (strIdOpcionPadre.Length > 0)
                            {
                                if ((item.IdOpcionPadre != null ? item.IdOpcionPadre : "") != strIdOpcionPadre)
                                {
                                    sbOpciones.Append("</ul>");
                                    sbOpciones.Append("</li>");
                                    strIdOpcionPadre = "";
                                }
                            }
                            #endregion

                            if (OpcionesHijo.Count() > 0)
                            {
                                sbOpciones.Append("<li class=\"dropdown " + strCssSweepToTop + "\"><a " + strHref + " class=\"dropdown-toggle\" data-toggle=\"dropdown\" role =\"button\"><span class=\"" + item.Icono + "\"></span> " + item.Nombre + " <span class=\"caret\"></span></a>");
                                sbOpciones.Append("<ul class=\"dropdown-menu\">");
                                strIdOpcionPadre = item.IdOpcion;
                            }
                            else
                            {
                                sbOpciones.Append("<li class=\"" + strCssSweepToTop + "\"><a " + strHref + "><span class=\"" + item.Icono + "\"></span> " + item.Nombre + "</a></li>");
                            }
                        }

                        #region Verificamos si hubo algun padre que se estuvirera recocciendo para cerrarlo
                        if (strIdOpcionPadre.Length > 0)
                        {
                            sbOpciones.Append("</ul>");
                            sbOpciones.Append("</li>");
                            strIdOpcionPadre = "";
                        }
                        #endregion

                        #endregion

                        sbOpciones.Append("</div>");
                        sbOpciones.Append("</div>");

                        divNav.Attributes.Add("class", "navbar-base navbar-base-primary");
                        divNav.InnerHtml = sbOpciones.ToString();
                    }
                }
                #endregion
            }
        }