private int ObtenerPadreId(int pagId)
        {
            IDataReader Datos = PaginasBD.Obtener(pagId);

            int Padre = (Datos.Read()) ? (int)Datos["PagPadre"] : -1;

            Datos.Close();

            return((Padre == -1) ? pagId : ObtenerPadreId(Padre));
        }
        private string ObtenerRutaPadre(int Padre)
        {
            int    NuevoPadre = -1;
            string Nombre     = string.Empty;

            IDataReader Datos = PaginasBD.Obtener(Padre);

            if (Datos.Read())
            {
                NuevoPadre = (int)Datos["PagPadre"];
                Nombre     = (string)Datos["PagNombre"];
            }

            Datos.Close();

            return((NuevoPadre == -1) ? Nombre : ObtenerRutaPadre(NuevoPadre) + " > " + Nombre);
        }
        public PortalConfig(int pagId)
        {
            Nombre = ConfigurationSettings.AppSettings["PortalNombre"];
            Tema   = ConfigurationSettings.AppSettings["PortalTema"];

            IDataReader Datos = PaginasBD.Obtener(pagId);

            if (Datos.Read())
            {
                PagActiva.PagId             = (int)Datos["PagId"];
                PagActiva.PagPadre          = (int)Datos["PagPadre"];
                PagActiva.PagNombre         = (string)Datos["PagNombre"];
                PagActiva.PagOrden          = (int)Datos["PagOrden"];
                PagActiva.GruposAutorizados = (string)Datos["GruposAutorizados"];
                PagActiva.Sistema           = ((int)Datos["Sistema"] == 0) ? false : true;
            }
            else
            {
                Datos.Close();
                Datos = PaginasBD.Obtener();

                if (Datos.Read())
                {
                    PagActiva.PagId             = (int)Datos["PagId"];
                    PagActiva.PagPadre          = (int)Datos["PagPadre"];
                    PagActiva.PagNombre         = (string)Datos["PagNombre"];
                    PagActiva.PagOrden          = (int)Datos["PagOrden"];
                    PagActiva.GruposAutorizados = (string)Datos["GruposAutorizados"];
                    PagActiva.Sistema           = ((int)Datos["Sistema"] == 0) ? false : true;
                }
            }

            Datos.Close();
            Datos = PaginasBD.Obtener();

            while (Datos.Read())
            {
                Pagina p = new Pagina();

                p.PagId             = (int)Datos["PagId"];
                p.PagNombre         = (string)Datos["PagNombre"];
                p.PagOrden          = (int)Datos["PagOrden"];
                p.GruposAutorizados = (string)Datos["GruposAutorizados"];
                p.PagPadre          = (int)Datos["PagPadre"];
                p.Sistema           = ((int)Datos["Sistema"] == 0) ? false : true;

                Paginas.Add(p);
            }

            Datos.Close();
            Datos = ModulosBD.ObtenerPagina(PagActiva.PagId);

            while (Datos.Read())
            {
                Modulo m = new Modulo();

                m.ModuloId                 = (int)Datos["ModuloId"];
                m.ModuloDefId              = (int)Datos["ModuloDefId"];
                m.NombrePanel              = (string)Datos["NombrePanel"];
                m.ModuloTitulo             = (string)Datos["ModuloTitulo"];
                m.ModuloOrden              = (int)Datos["ModuloOrden"];
                m.GruposAutorizados        = (string)Datos["GruposAutorizados"];
                m.GruposAutorizadosEdicion = (string)Datos["GruposAutorizadosEdicion"];
                m.Ubicacion                = (string)Datos["Ubicacion"];
                m.UbicacionEdicion         = (string)Datos["UbicacionEdicion"];
                m.TiempoCache              = (int)Datos["TiempoCache"];

                PagActiva.Modulos.Add(m);
            }

            Datos.Close();
        }