public JsonResult ChangeMenuPorAplicacion(string value, string rol, string codigosociedad) { List <rol> model = new List <rol>(); List <MenuOpcion> lista = objrol.ChangeMenuPorAplicacion(Convert.ToInt32(value)); List <MenubarOpcion> MenuBar = new List <MenubarOpcion>(); List <AuthorViewModel> listado = new List <AuthorViewModel>(); MenuBar.AddRange(lista.FindAll(a => a.idPadre == 0).OrderBy(a => a.Jerarquia).Select(b => new MenubarOpcion() { IdMenuOpcion = b.idMenuOpcion, IdMenuOpcion_Padre = 0, Jerarquia = b.Jerarquia, NombreOpcion = b.Nombreopcion, RutaRelativa = b.Rutarelativa, Icono = b.icono, MenubarDetalle = new List <MenubarOpcion>() }).ToList()); for (int i = 0; i < MenuBar.Count; i++) { AuthorViewModel autor = new AuthorViewModel(); MenuBar[i] = AddDetalleMenubar(MenuBar[i], lista); autor.id = Convert.ToString(i + 1); autor.pid = ""; autor.name = MenuBar[i].NombreOpcion; listado.Add(autor); for (int j = 0; j < MenuBar[i].MenubarDetalle.Count; j++) { AuthorViewModel hijo = new AuthorViewModel(); if (rol != null) { hijo.checked_ = objrol.RolSeleccionado(rol, MenuBar[i].MenubarDetalle[j].IdMenuOpcion, codigosociedad); } hijo.id = Convert.ToString(MenuBar[i].MenubarDetalle[j].IdMenuOpcion); hijo.pid = Convert.ToString(i + 1); hijo.name = MenuBar[i].MenubarDetalle[j].NombreOpcion; listado.Add(hijo); } } return(Json(listado, JsonRequestBehavior.AllowGet)); }