private static XElement ObtenMarcado(OpcionMenu opcion) { XElement _elemento; bool _esSuperMenu = !opcion.MenuPadre.HasValue; List <OpcionMenu> hijos = opcion.Opciones.Where(op => op.Visible).OrderBy(op => op.Orden).ToList(); if (hijos.Count > 0) { List <XElement> _elementosHijo = new List <XElement>(); foreach (OpcionMenu opcionH in hijos) { _elementosHijo.Add(ObtenMarcado(opcionH)); } _elemento = new XElement(_esSuperMenu ? "nav" : "li", _esSuperMenu ? new XElement("span", opcion.Descripcion, new XElement("img", new XAttribute("src", $"{Rutas.ImagenesMenu}/flecha.png"))) : new XElement("span", opcion.Descripcion), new XElement("ul", _elementosHijo)); } else { _elemento = new XElement(_esSuperMenu ? "nav" : "li", new XElement("span", !string.IsNullOrEmpty(opcion.URI) ? new XElement("a", new XText(opcion.Descripcion), new XAttribute("href", opcion.URI)) : (XNode) new XText(opcion.Descripcion) )); } return(_elemento); }
public List <OpcionMenu> GetOpcionmenuFavoritoByusuario(string cuentaUsuario) { using (SqlConnection sqlConn = new SqlConnection(this.strConn)) { sqlConn.Open(); SqlCommand cmd = new SqlCommand(strConn, sqlConn); cmd.CommandType = System.Data.CommandType.StoredProcedure; cmd.CommandText = "get_menu_favorito"; cmd.Parameters.AddWithValue("@cuenta_usuario", cuentaUsuario); SqlDataReader reader = cmd.ExecuteReader(); List <OpcionMenu> lOpcionmenu = new List <OpcionMenu>(); while (reader.Read()) { OpcionMenu mOpcionmenu = new OpcionMenu(); mOpcionmenu.Codigoopcionmenu = reader["codigoopcionmenu"].ToString(); mOpcionmenu.Descripcion = reader["descripcion"].ToString(); mOpcionmenu.Url = reader["url"].ToString(); mOpcionmenu.Orden = Convert.ToInt32(reader["orden"]); mOpcionmenu.Estado = reader["estado"].ToString(); lOpcionmenu.Add(mOpcionmenu); } sqlConn.Close(); return(lOpcionmenu); } }
/// <summary> /// Crea las opciones /// </summary> /// <param name="stringBuilder"></param> /// <param name="opcionMenu"></param> private static void AgregarSubLista(this StringBuilder stringBuilder, OpcionMenu opcionMenu) { Encriptar enc = new Encriptar(); if (opcionMenu.EsEnlace) { //// Crea los enlaces de las paginas string Icoli = "";//@"<span class=""glyphicon glyphicon-hand-right""></span>"; stringBuilder.AgregarCodigo(string.Format("<li><a href=\"javascript:DirMenu({0})\" >{1} {2}</a>", "'" + enc.encriptartexto(opcionMenu.OptionId) + "'", opcionMenu.Texto, Icoli)); } else { //// Crea las cabeceras de la paginas stringBuilder.AgregarCodigo(string.Format(@"<li data-toggle=""collapse"" class=""collapsed"" data-target=""#{0}"" "">", opcionMenu.Texto)); stringBuilder.AgregarCodigo(string.Format(@"<a href=""#""> <i class=""{0}""></i>", opcionMenu.Icono)); stringBuilder.AgregarCodigo(string.Format("{0}</a>", opcionMenu.Texto)); } if (opcionMenu.OpcionesMenu.Count > 0) { //stringBuilder.AgregarCodigo(@"<ul class=""dropdown-menu"">"); stringBuilder.AgregarCodigo(string.Format(@"<ul class=""sub-menu collapse"" id=""{0}"">", opcionMenu.Texto)); opcionMenu.OpcionesMenu.ForEach(subopcion => stringBuilder.AgregarSubLista(subopcion)); stringBuilder.AgregarCodigo("</ul>"); } stringBuilder.AgregarCodigo("</li>"); }
//------------------------------------------------------------ public bool hasAccess(string action, string controller, string userName, Dictionary <string, Dictionary <string, bool> > dictionaryOptions) { controller = controller.ToLower(); action = action.ToLower(); if (isHomePageSection(controller, action) || isErrorPage(controller, action)) { // Caso homepage de Ventas, Financiaciones y Banco return(true); } else if (isControllerNameMaintenance(controller) && isActionNameMaintenance(action) && (dictionaryOptions.ContainsKey(controller) && (dictionaryOptions[controller][BaseController.SHOW]))) { // Caso de opción que no es de menu pero depende de este (ej: create, edit, delete, details de los mantenimientos que dependen de que se tengan permisos sobre el show) action = BaseController.SHOW; } Usuario u = new Usuario(); u.Username = userName; OpcionMenu om = new OpcionMenu(); om.Accion = action; om.Controlador = controller; return(u.TieneAcceso(om)); }
private void LlenaRecursivo(OpcionMenu menu, Permiso permiso) { if (menu != null) { foreach (var item in menu.Opciones) { var permi = new Permiso(); permi.Id = item.Id; permi.Nombre = item.Nombre; permiso.SubModulos.Add(permi); LlenaRecursivo(item, permi); } } }
//------------------------------------------------------------ private MenuOptionModel mapMenuOptionModel(OpcionMenu opcionMenu, String userName, String IP) { MenuOptionModel menuOptionModel = new MenuOptionModel(); menuOptionModel.Action = opcionMenu.Accion; menuOptionModel.Id = opcionMenu.Codigo; menuOptionModel.Controlller = opcionMenu.Controlador; menuOptionModel.OpcionName = opcionMenu.NombreOpcion; menuOptionModel.UserName = userName; menuOptionModel.IP = IP; menuOptionModel.SubMenu = new Dictionary <int, MenuOptionModel>(); return(menuOptionModel); }
public bool crearPerfil(string nombre, List <int> ids) { List <OpcionMenu> opciones = new List <OpcionMenu>(); foreach (int id in ids) { OpcionMenu om = new OpcionMenu(); om.Id = id; opciones.Add(om); } Perfil oNuevo = new Perfil(0, nombre, opciones); return(dao.add(oNuevo)); }
public List <OpcionMenu> getOpcionesMenuAll() { List <OpcionMenu> lst = new List <OpcionMenu>(); string query = "SELECT OM.* FROM OpcionMenu OM"; DataTable t = DBHelper.getDBHelper().ConsultaSQL(query); foreach (DataRow row in t.Rows) { int id = int.Parse(row["id_opcion_menu"].ToString()); OpcionMenu op = new OpcionMenu(id, row["n_opcion"].ToString()); lst.Add(op); } return(lst); }
public bool crearPerfil(string nombre, List <int> ids) { Perfil nuevo = new Perfil(); nuevo.Nombre = nombre; foreach (int id in ids) { OpcionMenu item = new OpcionMenu(); item.Id = id; nuevo.OpcionesMenu.Add(item); } return(dao.add(nuevo)); }
public List <OpcionMenu> getOpcionesAll() { string sql = "SELECT * FROM OpcionMenu"; DataTable data = DBHelper.getDBHelper().ConsultaSQL(sql); List <OpcionMenu> list = new List <OpcionMenu>(); foreach (DataRow row in data.Rows) { OpcionMenu op = new OpcionMenu(); op.Id = Convert.ToInt32(row[0].ToString()); op.Nombre = row[1].ToString(); list.Add(op); } return(list); }
public List <OpcionMenu> GetOpcionmenuByPerfil(string strPerfil) { try { using (SqlConnection sqlConn = new SqlConnection(this.strConn)) { sqlConn.Open(); SqlCommand cmd = new SqlCommand(strConn, sqlConn); cmd.CommandType = System.Data.CommandType.StoredProcedure; cmd.CommandText = "sp_r_opcionmenubyperfil"; cmd.Parameters.AddWithValue("@CodigoPerfil", strPerfil); SqlDataReader reader = cmd.ExecuteReader(); List <OpcionMenu> lOpcionmenu = new List <OpcionMenu>(); while (reader.Read()) { OpcionMenu mOpcionmenu = new OpcionMenu(); mOpcionmenu.Codigoopcionmenu = reader["codigoopcionmenu"].ToString(); mOpcionmenu.Descripcion = reader["descripcion"].ToString(); mOpcionmenu.Url = reader["url"].ToString(); mOpcionmenu.Orden = Convert.ToInt32(reader["orden"]); mOpcionmenu.Estado = reader["estado"].ToString(); lOpcionmenu.Add(mOpcionmenu); mOpcionmenu = null; } sqlConn.Close(); return(lOpcionmenu); } } catch (Exception ex) { throw ex; } }
private Perfil mapper(DataRow perfilRow, DataTable opciones) { Perfil oPerfil = new Perfil(); OpcionMenu oOpcionMenu = null; List <OpcionMenu> opcionesMenu = new List <OpcionMenu>(); oPerfil.Id = Convert.ToInt32(perfilRow["id_perfil"].ToString()); oPerfil.Nombre = perfilRow["n_perfil"].ToString(); foreach (DataRow opRow in opciones.Rows) { oOpcionMenu = new OpcionMenu(); oOpcionMenu.Id = Convert.ToInt32(opRow["id_opcion_menu"].ToString()); oOpcionMenu.Nombre = opRow["n_opcion"].ToString(); opcionesMenu.Add(oOpcionMenu); } oPerfil.OpcionesMenu = opcionesMenu; return(oPerfil); }
private void AgregarSubOpciones(OpcionAplicacion oap, OpcionMenu opMenu) { OpcionMenu opcion = null; foreach (OpcionAplicacion opcApl in oap.SubOpciones) { if (opcApl.SubOpciones.Count > 0) { //if (oap.Accion == null && oap.Controlador == null) opcion = opMenu.AgregarOpcion(opcApl.Identificacion, opcApl.NombreMenu, false, true, opcApl.Iconos); AgregarSubOpciones(opcApl, opcion); //else } else { opMenu.AgregarOpcion(opcApl.Identificacion, opcApl.NombreMenu, true, opcApl.Iconos); } } }
private MenuPrincipal PedirMenu(int tpoUsuario) { if (tpoUsuario > 0) { MenuPrincipal menu = new MenuPrincipal(); OpcionMenu cabecera = null; var opcionesAplicaciones = menuqry.GetOpcTpoUsr(tpoUsuario);//qry_opc_tpoUsr.GetOpcTpoUsr(si_persona.First().UserTpo.Id); //OpcionAplicacionUsuarioTipoRepository.ObtenerOpcionesAplicacionUsuarioTipo(u.UsuarioTipo.Id); foreach (OpcionesUsuario opcAplUsrTpo in opcionesAplicaciones) { cabecera = menu.AgregarOpcion(opcAplUsrTpo.MenuAplicacion.Identificacion, opcAplUsrTpo.MenuAplicacion.NombreMenu, false, true, opcAplUsrTpo.MenuAplicacion.Iconos); AgregarSubOpciones(opcAplUsrTpo.MenuAplicacion, cabecera); } return(menu); } return(null); }
//------------------------------------------------------------ public Dictionary <string, Dictionary <string, bool> > getPermissiblesControllerAction() { Dictionary <string, Dictionary <string, bool> > dictionaryControllerAction = new Dictionary <string, Dictionary <string, bool> >(); List <OpcionMenu> listOpcionMenu = OpcionMenu.opcionesHabilitables(); foreach (OpcionMenu opcionMenu in listOpcionMenu) { if (!dictionaryControllerAction.ContainsKey(opcionMenu.Controlador)) { Dictionary <string, bool> dictionaryAction = new Dictionary <string, bool>(); dictionaryAction.Add(opcionMenu.Accion, true); dictionaryControllerAction.Add(opcionMenu.Controlador, dictionaryAction); } else { dictionaryControllerAction[opcionMenu.Controlador].Add(opcionMenu.Accion, true); } } return(dictionaryControllerAction); }
private Perfil mapper(DataRow perfilRow, DataTable opciones) { Perfil oPerfil = new Perfil(); OpcionMenu oOpcionMenu = null; List <OpcionMenu> opcionesMenu = new List <OpcionMenu>(); oPerfil.IdPerfil = Convert.ToInt32(perfilRow["id_perfil"].ToString()); oPerfil.Nombre = perfilRow["n_perfil"].ToString(); //agregamos este atributo tanto en la tabla como en la entidad //para trabajar solo con registros activos, no borrados. oPerfil.Borrado = perfilRow["n_perfil"].ToString().Equals("S"); foreach (DataRow opRow in opciones.Rows) { oOpcionMenu = new OpcionMenu(); oOpcionMenu.Id = Convert.ToInt32(opRow["id_opcion_menu"].ToString()); oOpcionMenu.Nombre = opRow["n_opcion"].ToString(); opcionesMenu.Add(oOpcionMenu); } oPerfil.OpcionesMenu = opcionesMenu; return(oPerfil); }
public OpcionMenu GetOpcionmenuBycodigo(string codigo) { try { using (SqlConnection sqlConn = new SqlConnection(this.strConn)) { sqlConn.Open(); SqlCommand cmd = new SqlCommand(strConn, sqlConn); cmd.CommandType = System.Data.CommandType.StoredProcedure; cmd.CommandText = "sp_r_opcionmenubyCodigo"; cmd.Parameters.AddWithValue("@codigo", codigo); SqlDataReader reader = cmd.ExecuteReader(); OpcionMenu mOpcionmenu = new OpcionMenu(); if (reader.Read()) { mOpcionmenu.Codigoopcionmenu = reader["codigoopcionmenu"].ToString(); mOpcionmenu.Descripcion = reader["descripcion"].ToString(); mOpcionmenu.Url = reader["url"].ToString(); mOpcionmenu.Orden = Convert.ToInt32(reader["orden"]); mOpcionmenu.Estado = reader["estado"].ToString(); mOpcionmenu.UrlManual = reader["url_manual"].ToString(); } sqlConn.Close(); return(mOpcionmenu); } } catch (Exception ex) { throw ex; } }