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()); }
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); }