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