public static IEnumerable<Entidades.ViewModels.Menu> GetMenusTipoComponente(TipoComponente componente) { var menu = new List<Entidades.ViewModels.Menu>(); var menuRepo = new MenuRepository(); var padres = menuRepo.GetMenusPorComponenteYPadre(componente, 0); foreach (var padre in padres) { var menuPadre = new Entidades.ViewModels.Menu() { Nombre = padre.Nombre, Controlador = padre.Controlador, Accion = padre.Accion, Icono = padre.Icono, Orden = padre.Orden, Url = padre.Url, Accedible = padre.Accedible }; // agregar hijos var hijosPadre = menuRepo.GetMenusPorComponenteYPadre(componente, padre.Id); foreach (var hijoPrimero in hijosPadre) { var menuHijoPrimero = new Entidades.ViewModels.Menu() { Nombre = hijoPrimero.Nombre, Controlador = hijoPrimero.Controlador, Accion = hijoPrimero.Accion, Icono = hijoPrimero.Icono, Orden = hijoPrimero.Orden, Url = hijoPrimero.Url, Accedible = padre.Accedible }; menuPadre.SubMenus.Add(menuHijoPrimero); } menu.Add(menuPadre); } return menu; }