private async Task BuildTreeAsync(Models.AdminMenu tree, NavigationBuilder builder)
 {
     foreach (MenuItem node in tree.MenuItems)
     {
         var nodeBuilder = _nodeBuilders.Where(x => x.Name == node.GetType().Name).FirstOrDefault();
         if (nodeBuilder != null)
         {
             await nodeBuilder.BuildNavigationAsync(node, builder, _nodeBuilders);
         }
         else
         {
             Logger.LogError("No Builder registered for admin node of type '{TreeNodeName}'", node.GetType().Name);
         }
     }
 }
Esempio n. 2
0
        public async Task <IActionResult> Create(AdminMenuCreateViewModel model)
        {
            if (!await _authorizationService.AuthorizeAsync(User, Permissions.ManageAdminMenu))
            {
                return(Forbid());
            }

            if (ModelState.IsValid)
            {
                var tree = new Models.AdminMenu {
                    Name = model.Name
                };

                await _adminMenuService.SaveAsync(tree);

                return(RedirectToAction(nameof(List)));
            }

            return(View(model));
        }
Esempio n. 3
0
        private async Task <AdminNodeListViewModel> BuildDisplayViewModel(Models.AdminMenu tree)
        {
            var thumbnails = new Dictionary <string, dynamic>();

            foreach (var factory in _factories)
            {
                var     treeNode  = factory.Create();
                dynamic thumbnail = await _displayManager.BuildDisplayAsync(treeNode, _updateModelAccessor.ModelUpdater, "TreeThumbnail");

                thumbnail.TreeNode = treeNode;
                thumbnails.Add(factory.Name, thumbnail);
            }

            var model = new AdminNodeListViewModel
            {
                AdminMenu  = tree,
                Thumbnails = thumbnails,
            };

            return(model);
        }
Esempio n. 4
0
        public ActionResult LeftMenu()
        {
            //获取用户菜单;
            //List<Models.MenuEntity> menu = new List<Models.MenuEntity>();
            //if (HttpContext.Session["menu"] != null)
            //{
            //    menu = HttpContext.Session["menu"] as  List<Models.MenuEntity>;
            //}

            List <Models.AdminMenu> menuList = new List <Models.AdminMenu>();


            string url = Request.Url.ToString();

            //获取用户菜单;
            Models.AdminMenu menu = new Models.AdminMenu();
            menu.Menucode   = "0";
            menu.Parentcode = "";
            menu.Menuname   = "系统设置";
            menu.Menuurl    = "";


            //子菜单;
            Models.AdminMenu childmenu = new Models.AdminMenu();
            childmenu.Menucode   = "001";
            childmenu.Parentcode = "0";
            childmenu.Menuname   = "系统信息";
            childmenu.Menuurl    = "Admin/Systeminfo/Index";
            menu.childMenus.Add(childmenu);


            //子菜单;
            childmenu            = new Models.AdminMenu();
            childmenu.Menucode   = "002";
            childmenu.Parentcode = "0";
            childmenu.Menuname   = "文件更新";
            childmenu.Menuurl    = "Admin/UpdateFile/Index";
            menu.childMenus.Add(childmenu);

            childmenu            = new Models.AdminMenu();
            childmenu.Menucode   = "003";
            childmenu.Parentcode = "0";
            childmenu.Menuname   = "许可证";
            childmenu.Menuurl    = "Admin/Systemlicense/Index";
            menu.childMenus.Add(childmenu);



            childmenu            = new Models.AdminMenu();
            childmenu.Menucode   = "0004";
            childmenu.Parentcode = "0";
            childmenu.Menuname   = "企业动态";
            childmenu.Menuurl    = "Admin/Article/Index";
            menu.childMenus.Add(childmenu);


            menuList.Add(menu);


            //获取用户菜单;
            //数据交互,API管理
            menu            = new Models.AdminMenu();
            menu.Menucode   = "1";
            menu.Parentcode = "";
            menu.Menuname   = "数据交互";
            menu.Menuurl    = "";

            childmenu            = new Models.AdminMenu();
            childmenu.Menucode   = "004";
            childmenu.Parentcode = "1";
            childmenu.Menuname   = "API管理";
            childmenu.Menuurl    = "Admin/API/Index";
            menu.childMenus.Add(childmenu);


            childmenu            = new Models.AdminMenu();
            childmenu.Menucode   = "005";
            childmenu.Parentcode = "1";
            childmenu.Menuname   = "WEBAPP管理";
            childmenu.Menuurl    = "Admin/WebApp/Index";
            menu.childMenus.Add(childmenu);


            childmenu            = new Models.AdminMenu();
            childmenu.Menucode   = "006";
            childmenu.Parentcode = "1";
            childmenu.Menuname   = "连接管理";
            childmenu.Menuurl    = "Admin/ApiLink/Index";
            menu.childMenus.Add(childmenu);


            childmenu            = new Models.AdminMenu();
            childmenu.Menucode   = "007";
            childmenu.Parentcode = "1";
            childmenu.Menuname   = "3D文件上传";
            childmenu.Menuurl    = "Admin/ThreeDUploadFiles/Index";
            menu.childMenus.Add(childmenu);

            menuList.Add(menu);



            //获取用户菜单;
            //数据看板
            menu            = new Models.AdminMenu();
            menu.Menucode   = "4";
            menu.Parentcode = "";
            menu.Menuname   = "数据看板";
            menu.Menuurl    = "";


            childmenu            = new Models.AdminMenu();
            childmenu.Menucode   = "4001";
            childmenu.Parentcode = "4";
            childmenu.Menuname   = "看板定义";
            childmenu.Menuurl    = "Admin/DataBoardDesigner/Index";
            menu.childMenus.Add(childmenu);


            menuList.Add(menu);


            //获取用户菜单;
            //定时调度
            menu            = new Models.AdminMenu();
            menu.Menucode   = "2";
            menu.Parentcode = "";
            menu.Menuname   = "定时调度";
            menu.Menuurl    = "";

            childmenu            = new Models.AdminMenu();
            childmenu.Menucode   = "007";
            childmenu.Parentcode = "2";
            childmenu.Menuname   = "定时任务";
            childmenu.Menuurl    = "Admin/QuartzNet/Index";
            menu.childMenus.Add(childmenu);


            childmenu            = new Models.AdminMenu();
            childmenu.Menucode   = "008";
            childmenu.Parentcode = "2";
            childmenu.Menuname   = "定时任务查看";
            childmenu.Menuurl    = "CrystalQuartzPanel.axd";
            menu.childMenus.Add(childmenu);

            menuList.Add(menu);

            ViewBag.menus      = menuList;
            ViewBag.currenturl = url;
            //string html = getMenuHtmlCode(menu);
            //ViewBag.menuhtml = html;
            return(View());
        }