Esempio n. 1
0
        /// <summary>
        /// 递归处理数据
        /// </summary>
        /// <param name="systemMenuEntities"></param>
        /// <param name="rootNode"></param>
        public static void GetTreeNodeListByNoLockedDTOArray(SystemMenuEntity[] systemMenuEntities, SystemMenu rootNode)
        {
            if (systemMenuEntities == null || systemMenuEntities.Count() <= 0)
            {
                return;
            }

            var childreDataList = systemMenuEntities.Where(p => p.pid == rootNode.Id);

            if (childreDataList != null && childreDataList.Count() > 0)
            {
                rootNode.Child = new List <SystemMenu>();

                foreach (var item in childreDataList)
                {
                    SystemMenu treeNode = new SystemMenu()
                    {
                        Id    = item.id,
                        Icon  = item.icon,
                        Href  = item.href,
                        Title = item.title,
                    };
                    rootNode.Child.Add(treeNode);
                }

                foreach (var item in rootNode.Child)
                {
                    GetTreeNodeListByNoLockedDTOArray(systemMenuEntities, item);
                }
            }
        }
Esempio n. 2
0
        public IActionResult SystemMenu()
        {
            List <SystemMenuEntity> systemMenuEntities = new List <SystemMenuEntity>();

            using (SystemMenuDbContext dbContext = new SystemMenuDbContext())
            {
                systemMenuEntities = dbContext.SystemMenus.Where(s => s.id > 0).ToList();
            }

            SystemMenu rootNode = new SystemMenu()
            {
                Id    = 0,
                Icon  = "",
                Href  = "",
                Title = "根目录",
            };

            GetTreeNodeListByNoLockedDTOArray(systemMenuEntities.ToArray(), rootNode);

            MenusInfoResultDTO menusInfoResultDTO = new MenusInfoResultDTO();

            menusInfoResultDTO.MenuInfo = rootNode.Child;
            menusInfoResultDTO.LogoInfo = new LogoInfo();
            menusInfoResultDTO.HomeInfo = new HomeInfo();

            return(new  JsonResult(menusInfoResultDTO));
        }