Ejemplo n.º 1
0
        public List <YaeherModuleNode> YaeherModuleList(List <YaeherModule> ModuleList)
        {
            List <YaeherModuleNode> yaeherModuleNodes = new List <YaeherModuleNode>();
            List <YaeherModule>     ModuleNode        = ModuleList.Where(a => a.ParentId == 0).ToList();

            foreach (var item in ModuleNode)
            {
                YaeherModuleNode yaeherModuleNode = new YaeherModuleNode();
                yaeherModuleNode.Id          = item.Id;
                yaeherModuleNode.ParentId    = item.ParentId;
                yaeherModuleNode.Names       = item.Names;
                yaeherModuleNode.LinkUrls    = item.LinkUrls;
                yaeherModuleNode.Areas       = item.Areas;
                yaeherModuleNode.Controllers = item.Controllers;
                yaeherModuleNode.Actionss    = item.Actionss;
                yaeherModuleNode.Icons       = item.Icons;
                yaeherModuleNode.Codes       = item.Codes;
                yaeherModuleNode.OrderSort   = item.OrderSort;
                yaeherModuleNode.Description = item.Description;
                yaeherModuleNode.IsMenu      = item.IsMenu;
                yaeherModuleNode.Enabled     = item.Enabled;
                yaeherModuleNode.children    = GetChild(ModuleList.ToList(), item.Id);
                yaeherModuleNodes.Add(yaeherModuleNode);
            }
            return(yaeherModuleNodes.OrderBy(a => a.OrderSort).ToList());
        }
Ejemplo n.º 2
0
        public List <YaeherModuleNode> GetChild(List <YaeherModule> ModuleList, int Id)
        {
            List <YaeherModuleNode> child = new List <YaeherModuleNode>();
            var ChildModuleList           = ModuleList.Where(a => a.ParentId == Id).ToList();

            if (ChildModuleList.Count > 0)
            {
                foreach (var item in ChildModuleList)
                {
                    YaeherModuleNode yaeherModuleNode = new YaeherModuleNode();
                    yaeherModuleNode.Id          = item.Id;
                    yaeherModuleNode.ParentId    = item.ParentId;
                    yaeherModuleNode.Names       = item.Names;
                    yaeherModuleNode.LinkUrls    = item.LinkUrls;
                    yaeherModuleNode.Areas       = item.Areas;
                    yaeherModuleNode.Controllers = item.Controllers;
                    yaeherModuleNode.Actionss    = item.Actionss;
                    yaeherModuleNode.Icons       = item.Icons;
                    yaeherModuleNode.Codes       = item.Codes;
                    yaeherModuleNode.OrderSort   = item.OrderSort;
                    yaeherModuleNode.Description = item.Description;
                    yaeherModuleNode.IsMenu      = item.IsMenu;
                    yaeherModuleNode.Enabled     = item.Enabled;
                    if (ModuleList.Where(a => a.ParentId == item.Id).ToList().Count > 0)
                    {
                        yaeherModuleNode.children = GetChild(ModuleList, item.Id);
                    }
                    child.Add(yaeherModuleNode);
                }
            }
            return(child.OrderBy(a => a.OrderSort).ToList());;
        }
Ejemplo n.º 3
0
        public async Task <IList <YaeherModuleNode> > YaeherModuleList(YaeherModuleIn YaeherModulefo)
        {
            #region
            //var query = _repository.GetAll().OrderByDescending(a => a.CreatedOn).Where(YaeherModulefo.Expression);
            //// 根据主菜单查询所有子菜单
            //if (YaeherModulefo.UpperLevel > -1 && YaeherModulefo.UpperLevel != 0)
            //{
            //    query = query.Where(a => a.ParentId == YaeherModulefo.UpperLevel || a.Id == YaeherModulefo.UpperLevel);
            //}
            ////  查询所有主菜单
            //if (YaeherModulefo.UpperLevel == -1)
            //{
            //    query = query.Where(a => a.ParentId ==0);
            //}
            //// 查询所有菜单
            //if (YaeherModulefo.UpperLevel == -2)
            //{
            //    query = query.Where(a => a.ParentId >= 0);
            //}
            #endregion
            var query = await _repository.GetAll().Where(YaeherModulefo.Expression).ToListAsync();

            List <YaeherModuleNode> yaeherModuleNodes = new List <YaeherModuleNode>();
            List <YaeherModule>     ModuleNode        = query.Where(a => a.ParentId == 0).ToList();
            foreach (var item in ModuleNode)
            {
                YaeherModuleNode yaeherModuleNode = new YaeherModuleNode();
                yaeherModuleNode.Id          = item.Id;
                yaeherModuleNode.ParentId    = item.ParentId;
                yaeherModuleNode.Names       = item.Names;
                yaeherModuleNode.LinkUrls    = item.LinkUrls;
                yaeherModuleNode.Areas       = item.Areas;
                yaeherModuleNode.Controllers = item.Controllers;
                yaeherModuleNode.Actionss    = item.Actionss;
                yaeherModuleNode.Icons       = item.Icons;
                yaeherModuleNode.Codes       = item.Codes;
                yaeherModuleNode.OrderSort   = item.OrderSort;
                yaeherModuleNode.Description = item.Description;
                yaeherModuleNode.IsMenu      = item.IsMenu;
                yaeherModuleNode.Enabled     = item.Enabled;
                yaeherModuleNode.children    = GetChild(query.ToList(), item.Id);
                yaeherModuleNodes.Add(yaeherModuleNode);
            }
            return(yaeherModuleNodes.OrderBy(a => a.OrderSort).ToList());
        }