public List <YaeherLabelList> GetChild(List <YaeherLabelConfig> LabelList, int Id) { List <YaeherLabelList> child = new List <YaeherLabelList>(); var ChildLabelList = LabelList.Where(a => a.ParentId == Id).ToList(); if (ChildLabelList.Count > 0) { foreach (var item in ChildLabelList) { YaeherLabelList yaeherLabel = new YaeherLabelList(); yaeherLabel.Id = item.Id; yaeherLabel.LabelTypeCode = item.LabelTypeCode; yaeherLabel.LabelTypeName = item.LabelTypeName; yaeherLabel.LabelCode = item.LabelCode; yaeherLabel.LabelName = item.LabelName; yaeherLabel.ParentId = item.ParentId; yaeherLabel.CreatedOn = item.CreatedOn; yaeherLabel.OrderSort = item.OrderSort; if (LabelList.Where(a => a.ParentId == item.Id).ToList().Count > 0) { yaeherLabel.children = GetChild(LabelList, item.Id); } child.Add(yaeherLabel); } } return(child.OrderBy(a => a.OrderSort).ToList()); }
public async Task <IList <YaeherLabelList> > YaeherModuleList(YaeherLabelConfigIn YaeherLabelConfigInfo) { var query = await _repository.GetAll().Where(YaeherLabelConfigInfo.Expression).ToListAsync(); List <YaeherLabelList> yaeherLabelList = new List <YaeherLabelList>(); List <YaeherLabelConfig> ModuleNode = query.Where(a => a.ParentId == 0).ToList(); foreach (var item in ModuleNode) { YaeherLabelList yaeherLabel = new YaeherLabelList(); yaeherLabel.Id = item.Id; yaeherLabel.LabelTypeCode = item.LabelTypeCode; yaeherLabel.LabelTypeName = item.LabelTypeName; yaeherLabel.LabelCode = item.LabelCode; yaeherLabel.LabelName = item.LabelName; yaeherLabel.ParentId = item.ParentId; yaeherLabel.CreatedOn = item.CreatedOn; yaeherLabel.OrderSort = item.OrderSort; yaeherLabel.children = GetChild(query.ToList(), item.Id); yaeherLabelList.Add(yaeherLabel); } return(yaeherLabelList.OrderBy(a => a.OrderSort).ToList()); }