public object Get() { DataClasses1DataContext _db = new DataClasses1DataContext(); var rootTasks = _db.Tasks.Where(b => !b.parentId.HasValue); List <NestedTaskModel> roots = new List <NestedTaskModel>(); foreach (Task cd in rootTasks) { NestedTaskModel n = new NestedTaskModel(cd); roots.Add(n); this.SetNodeChildren(n); } return(roots); }
public void SetNodeChildren(NestedTaskModel node) { DataClasses1DataContext _db = new DataClasses1DataContext(); var children = _db.Tasks.Where(b => b.parentId == node.Id); if (children.Count <Task>() > 0) { node.children = new List <NestedTaskModel>(); foreach (Task t in children) { NestedTaskModel n = new NestedTaskModel(t); node.children.Add(n); this.SetNodeChildren(n); } // Last step, sort children on the 'index' field node.children = node.children.OrderBy(a => a.index).ToList(); } node.leaf = (node.children == null); }