示例#1
0
        private List <WorkItemNode> FilterOutItemsOnDate(List <WorkItemNode> list, List <WorkItemNode> finalList, Duration duration)
        {
            if (finalList == null)
            {
                finalList = new List <WorkItemNode>();
            }

            list.ForEach(w =>
            {
                try
                {
                    if (w.Item.CreatedDate < duration.To)
                    {
                        WorkItemNode wiClone = new WorkItemNode {
                            Item     = w.Item.ChangedDate > duration.To ? w.Item.Store.GetWorkItem(w.Item.Id, duration.To) : w.Item,
                            Children = new List <WorkItemNode>()
                        };
                        finalList.Add(wiClone);
                        wiClone.Children = FilterOutItemsOnDate(w.Children, wiClone.Children, duration);
                    }
                }
                catch
                {     //i
                }
            });
            return(finalList);
        }
示例#2
0
        public static Item CreateItem(WorkItemNode workItem)
        {
            Item item = null;

            switch ((string)workItem.Item.Fields[TFSLiterals.WorkItemType].Value)
            {
            case TFSLiterals.Task:
                item = new TFS.Model.Task();
                break;

            case TFSLiterals.TechDebt:
                item = new TFS.Model.TechnicalDebt();
                break;

            case TFSLiterals.UserStory:
                item = new TFS.Model.UserStory();
                break;

            case TFSLiterals.OutOfScope:
                item = new TFS.Model.OutOfScope();
                break;

            case TFSLiterals.Bug:
                item = new TFS.Model.Bug();
                break;

            case TFSLiterals.Feature:
                item = new TFS.Model.Feature();
                break;

            case TFSLiterals.EnhancementRequest:
                item = new TFS.Model.EnhancementRequest();
                break;

            default:
                item = new TFS.Model.Item();
                break;
            }

            item.Initialize(workItem);
            return(item);
        }
示例#3
0
        private List <WorkItemNode> WalkLinks(Microsoft.TeamFoundation.WorkItemTracking.Client.WorkItemCollection workItemCollection, WorkItemLinkInfo[] workItemLinks, WorkItemNode current)
        {
            var currentId = 0;

            if (current != null)
            {
                currentId = current.Item.Id;
            }

            var workItems = (from linkInfo in workItemLinks
                             where linkInfo.SourceId == currentId
                             select new WorkItemNode()
            {
                Item = workItemCollection[workItemCollection.IndexOf(linkInfo.TargetId)],
            }).ToList();

            workItems.ForEach(w => w.Children = WalkLinks(workItemCollection, workItemLinks, w));
            return(workItems);
        }