/// <summary> /// 获取树状列表 /// </summary> /// <returns></returns> public async Task <List <CategoryTreeListDto> > GetTreeListAsync() { List <CategoryTreeListDto> trees = new List <CategoryTreeListDto>(); var dblist = await databaseFixture.Db.WorkflowCategory.FindAllAsync(); foreach (var item in dblist.Where(m => m.ParentId == default(Guid))) { CategoryTreeListDto tree = new CategoryTreeListDto { Id = item.Id, ParentId = item.ParentId, Memo = item.Memo, Name = item.Name }; tree.Children = dblist.Where(m => m.ParentId == tree.Id).Select(m => new CategoryTreeListDto { Id = m.Id, Name = m.Name, ParentId = m.ParentId, Memo = m.Memo }).ToList(); var tempchilds = tree.Children; GetTreeListChildren(ref tempchilds, ref dblist); tree.Children = tempchilds; trees.Add(tree); } return(trees); }
/// <summary> /// 获取树状列表 /// </summary> /// <returns></returns> public async Task <List <CategoryTreeListDto> > GetTreeListAsync() { List <CategoryTreeListDto> trees = new List <CategoryTreeListDto>(); var mydblist = await databaseFixture.Db.WorkflowCategory.FindAllAsync(); var dblist = mydblist.OrderByDescending(m => m.Status).ThenBy(m => m.CreateTime).AsEnumerable(); foreach (var item in dblist.Where(m => m.ParentId == default(Guid))) { CategoryTreeListDto tree = new CategoryTreeListDto { Id = item.Id, ParentId = item.ParentId, Memo = item.Memo, Name = item.Name, Status = item.Status }; tree.Children = dblist.Where(m => m.ParentId == tree.Id).Select(m => new CategoryTreeListDto { Id = m.Id, Name = m.Name, ParentId = m.ParentId, Memo = m.Memo, Status = m.Status }).ToList(); var tempchilds = tree.Children; GetTreeListChildren(ref tempchilds, ref dblist); tree.Children = tempchilds; trees.Add(tree); } return(trees); }