Ejemplo n.º 1
0
 public static void CargarCboModulos(ASPxComboBox cboModulo)
 {
     cboModulo.Items.Clear();
     cboModulo.DataSource = ModulosLN.ObtenerModulos();
     cboModulo.ValueField = @"ModuloId";
     cboModulo.TextField  = @"Nombre";
     cboModulo.DataBind();
 }
Ejemplo n.º 2
0
        /// <summary>
        /// Método que genera el menú mostrado en pantalla desde la Base de Datos
        /// </summary>
        private void GenerarMenuDinamico()
        {
            try
            {
                var strHtml = new StringBuilder();
                if (Session["vsMenuGenerado"] != null)
                {
                    strHtml.Append(Session["vsMenuGenerado"]);
                }
                else
                {
                    var rolId           = Convert.ToInt32(Session["vsRolId"]);
                    var modulosPorRolId = ModulosLN.ObtenerModulosPorRolId(rolId);
                    var accionesPorRol  = RolModuloAccionesLN.ObtenerAccionesPorRol(rolId, true);
                    var urlBase         = prepararUrl(Request.ApplicationPath);

                    strHtml.Append(string.Format(
                                       $@"<li class='active'><a href='{urlBase}/'><i class='fa fa-desktop'></i><span>Inicio</span></a></li>"));

                    if (modulosPorRolId != null)
                    {
                        foreach (var modulo in modulosPorRolId)
                        {
                            var objetoPrimerNivel = accionesPorRol.Where(x =>
                                                                         x.ModuloId == modulo.ModuloId && x.ModuloPadre == 0 && x.EsMenu);
                            if (objetoPrimerNivel != null)
                            {
                                strHtml.Append(string.Format(
                                                   $"<li class='cd-dropdown'><a href='#' class='dropdown-toggle' data-toggle='dropdown'><i class='{modulo.ClaseCss}'></i><span>{modulo.Nombre}</span></a><ul class='dropdown-menu'>"));
                                foreach (var objetoSegundoNivel in objetoPrimerNivel)
                                {
                                    strHtml.Append(string.Format($"<li><a href='{urlBase}/{objetoSegundoNivel.Enlace}'>{objetoSegundoNivel.ModuloAccionNombre}</a></li>"));
                                }
                                strHtml.Append("</ul></li>");
                            }
                        }
                    }
                }
                menuPrincipal.InnerHtml   = strHtml.ToString();
                Session["vsMenuGenerado"] = menuPrincipal.InnerHtml;
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }