public dynamic getMenuByRol(int rol_id) { //RolId = rol_id; MenuContext db = new MenuContext(); var pantallas = db.Permissions.Where(x => x.rol_id == rol_id && x.visible == true).ToList(); foreach (var p in pantallas) { getIdPadre(db.Items.Where(x => x.ItemId == p.ItemID).SingleOrDefault()); } var item = db.Items.Where(x => ids.Contains(x.ItemId)).Distinct().ToList(); return(buildArbol(db.Items.Where(x => ids.Contains(x.ItemId)).Distinct().ToList())); }
private bool getIdPadre(Item p) { MenuContext db = new MenuContext(); if (p.parent == 0) { List <int> obj = new List <int>(); obj.Add(p.ItemId); contatenaLists(obj); return(true); } else { var padre = db.Items.Where(x => x.ItemId == p.parent).SingleOrDefault(); List <int> obj = new List <int>(); obj.Add(padre.ItemId); obj.Add(p.ItemId); contatenaLists(obj); return(padre.parent == 0 ? true : getIdPadre(padre)); } }
private static System.Collections.Generic.List <ItemMenu> getHijos(Item p, List <Item> items) { MenuContext db = new MenuContext(); List <ItemMenu> new_items = new List <ItemMenu>(); var hijos = items.Where(i => i.parent == p.ItemId).ToList().OrderBy(x => x.orden); foreach (var padre in hijos) { ItemMenu item = new ItemMenu(); item.icono = padre.icono; item.ItemId = padre.ItemId; item.name = padre.name; item.parent = padre.parent; item.title = padre.title; item.url = padre.url; item.orden = padre.orden; item.hijos = getHijos(padre, items); new_items.Add(item); } return(new_items); }
public static dynamic getActualMenu() { MenuContext db = new MenuContext(); return(buildArbol(db.Items.ToList())); }