Ejemplo n.º 1
0
    public static string ObtenerMenuPredeterminado(string pPaginaActual)
    {
        JObject JRespuesta = new JObject();

        if (pPaginaActual != "InicioSesion.aspx")
        {
            CConexion ConexionBaseDatos = new CConexion();
            string    respuesta         = ConexionBaseDatos.ConectarBaseDatosSqlServer();
            if (respuesta == "Conexion Establecida")
            {
                JObject Modelo       = new JObject();
                string  carpeta      = "";
                CPagina PaginaActual = new CPagina();
                PaginaActual.FiltrarPagina(pPaginaActual, ConexionBaseDatos);
                CUsuario Usuario = new CUsuario();
                Usuario.LlenaObjeto(Convert.ToInt32(HttpContext.Current.Session["IdUsuario"]), ConexionBaseDatos);
                CPerfil Perfil = new CPerfil();
                Perfil.IdPerfil = Usuario.IdPerfil;
                Perfil.LlenaObjeto(Usuario.IdPerfil, ConexionBaseDatos);
                CPagina PaginaInicio = new CPagina();
                PaginaInicio.LlenaObjeto(Perfil.IdPagina, ConexionBaseDatos);
                CMenu MenuInicio = new CMenu();
                MenuInicio.LlenaObjeto(PaginaInicio.IdMenu, ConexionBaseDatos);
                CMenu MenuPrincipal = new CMenu();

                if (MenuInicio.IdMenu != PaginaActual.IdMenu)
                {
                    carpeta = "../" + MenuInicio.Menu + "/";
                }
                Modelo.Add(new JProperty("PaginaInicio", PaginaInicio.Pagina));
                JArray JMenu = new JArray();
                foreach (CMenu Menu in MenuPrincipal.ObtenerMenuPrincipal(Usuario.IdPerfil, "Seguridad", ConexionBaseDatos))
                {
                    CPagina Pagina         = new CPagina();
                    JObject JMenuPrincipal = new JObject();
                    JMenuPrincipal.Add("MenuPrincipal", Menu.Menu);
                    JArray JMenusSecundarios  = new JArray();
                    int    noMenusSecundarios = 0;
                    foreach (CPagina MenuSecundario in Pagina.ObtenerMenuSecundario(Menu.IdMenu, Usuario.IdPerfil, "Seguridad", ConexionBaseDatos))
                    {
                        noMenusSecundarios = noMenusSecundarios + 1;
                        JObject JMenuSecundario = new JObject();
                        JMenuSecundario.Add(new JProperty("Pagina", MenuSecundario.Pagina));
                        JMenuSecundario.Add(new JProperty("MenuSecundario", MenuSecundario.NombreMenu));
                        JMenusSecundarios.Add(JMenuSecundario);
                    }
                    JMenuPrincipal.Add("NoMenusSecundarios", noMenusSecundarios);
                    JMenuPrincipal.Add("MenusSecundarios", JMenusSecundarios);
                    JMenu.Add(JMenuPrincipal);
                }
                Modelo.Add("Menu", JMenu);
                JRespuesta.Add(new JProperty("Error", 0));
                JRespuesta.Add(new JProperty("Modelo", Modelo));
                ConexionBaseDatos.CerrarBaseDatosSqlServer();
            }
            else
            {
                JRespuesta.Add(new JProperty("Error", 1));
                JRespuesta.Add(new JProperty("Descripcion", "Esto fue un error"));
            }
        }
        else
        {
            JRespuesta.Add(new JProperty("Error", 1));
            JRespuesta.Add(new JProperty("Descripcion", "No hay menu porque se encuentra en el login."));
        }
        return(JRespuesta.ToString());
    }
Ejemplo n.º 2
0
    public void CrearMenu(string pPagina, CConexion pConexion)
    {
        int IdUsuario = Convert.ToInt32(HttpContext.Current.Request.Cookies["IdUsuario"].Value.ToString());

        HttpContext.Current.Session["IdUsuario"] = IdUsuario;

        string  carpeta      = "";
        CPagina PaginaActual = new CPagina();

        PaginaActual.FiltrarPagina(pPagina, pConexion);
        CUsuario Usuario = new CUsuario();

        Usuario.LlenaObjeto(Convert.ToInt32(HttpContext.Current.Session["IdUsuario"]), pConexion);
        CPerfil Perfil = new CPerfil();

        if (Usuario.IdPerfil != 0)
        {
            Perfil.LlenaObjeto(Usuario.IdPerfil, pConexion);
        }
        else if (Usuario.TieneSucursalAsignada(pConexion))
        {
            CSucursalAsignada           SucursalAsignada           = new CSucursalAsignada();
            Dictionary <string, object> ParametrosSucursalAsignada = new Dictionary <string, object>();
            ParametrosSucursalAsignada.Add("IdUsuario", Usuario.IdUsuario);
            ParametrosSucursalAsignada.Add("IdSucursal", Usuario.IdSucursalActual);
            SucursalAsignada.LlenaObjetoFiltros(ParametrosSucursalAsignada, pConexion);
            Perfil.LlenaObjeto(SucursalAsignada.IdPerfil, pConexion);
        }

        else
        {
            HttpContext.Current.Response.Redirect("../InicioSesion.aspx");
        }

        CPagina PaginaInicio = new CPagina();

        PaginaInicio.LlenaObjeto(Perfil.IdPagina, pConexion);
        CMenu MenuInicio = new CMenu();

        MenuInicio.LlenaObjeto(PaginaInicio.IdMenu, pConexion);
        CMenu MenuPrincipal = new CMenu();

        if (MenuInicio.IdMenu != PaginaActual.IdMenu)
        {
            carpeta = "../" + MenuInicio.Menu + "/";
        }
        string liTituloMenuPrincipal = "<li><a href='../Paginas/" + PaginaInicio.Pagina + "'>Inicio</a></li>";

        foreach (CMenu Menu in MenuPrincipal.ObtenerMenuPrincipal(Perfil.IdPerfil, "Seguridad", pConexion))
        {
            CPagina Pagina  = new CPagina();
            int     bandera = 0;
            foreach (CPagina MenuSecundario in Pagina.ObtenerMenuSecundario(Menu.IdMenu, Perfil.IdPerfil, "Seguridad", pConexion))
            {
                if (bandera == 0)
                {
                    liTituloMenuPrincipal = liTituloMenuPrincipal + "<li id='li" + Menu.Menu + "'>" + Menu.Menu + "";
                    liTituloMenuPrincipal = liTituloMenuPrincipal + "<ul>";
                    bandera = 1;
                }
                if (PaginaActual.IdMenu == MenuSecundario.IdMenu)
                {
                    carpeta = "";
                }
                else
                {
                    carpeta = "../" + Menu.Menu + "/";
                }
                liTituloMenuPrincipal = liTituloMenuPrincipal + "<li><a href='../Paginas/" + MenuSecundario.Pagina + "'>" + MenuSecundario.NombreMenu + "</a></li>";
            }
            if (bandera == 1)
            {
                liTituloMenuPrincipal = liTituloMenuPrincipal + "</ul>";
            }
            liTituloMenuPrincipal = liTituloMenuPrincipal + "</li>";
        }
        liTituloMenuPrincipal = liTituloMenuPrincipal + "<li><a href='http://www.tsk.com.mx/Procesos/consulta.asp' target='_blank'>Procesos</a></li>";
        liTituloMenuPrincipal = liTituloMenuPrincipal + "<li><a href='../InicioSesion.aspx'>Salir</a></li>";
        HtmlGenericControl ulMenu = this.Page.FindControl("ctl00$ulMenuSeguridad") as HtmlGenericControl;

        ulMenu.InnerHtml = liTituloMenuPrincipal;

        HttpCookie miSesion = new HttpCookie("IdUsuario");

        miSesion.Value = IdUsuario.ToString();
        HttpContext.Current.Response.SetCookie(miSesion);
    }