コード例 #1
0
ファイル: Tasks.asmx.cs プロジェクト: ww362034710/Gannt
        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);
        }
コード例 #2
0
ファイル: Tasks.asmx.cs プロジェクト: ww362034710/Gannt
        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);
        }