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