GetChildWorkItems() 공개 메소드

public GetChildWorkItems ( WorkItemParent parent ) : IEnumerable
parent WorkItemParent
리턴 IEnumerable
예제 #1
0
        private void TryUpdatingExpandLockOnParent(WorkItem item)
        {
            var parent = WorkflowRepository.GetWorkItem(item.Parent.Id);

            if (WorkflowRepository.GetChildWorkItems(item.Parent).All(WorkflowRepository.IsDone))
            {
                parent = parent.UpdateStatus(WorkItemStatus.Normal);
            }
            else
            {
                parent = parent.UpdateStatus(WorkItemStatus.ExpandLocked);
            }

            WorkflowRepository.UpdateWorkItem(parent);
        }
예제 #2
0
        private WorkItem MergeParallelWorkItems(WorkItemTransition transition)
        {
            var unlockedParentWorkItem = WorkflowRepository.GetWorkItem(transition.WorkItem.Parent.Id).UpdateStatus(WorkItemStatus.Normal);

            WorkflowRepository.UpdateWorkItem(unlockedParentWorkItem);

            foreach (var childWorkItem in WorkflowRepository.GetChildWorkItems(transition.WorkItem.Parent).ToList())
            {
                if (WorkflowRepository.IsExpandStep(transition.WorkStep))
                {
                    CleanUpIfMovingFromExpandStep(new WorkItemTransition(childWorkItem, transition.WorkStep));
                }

                WorkflowRepository.DeleteWorkItem(childWorkItem.Id);
            }

            return(unlockedParentWorkItem);
        }
예제 #3
0
        private void DeleteWorkItemRecursively(WorkItem workItem)
        {
            var expandedChildWorkItems = WorkflowRepository.GetChildWorkItems(workItem.AsParent(WorkItemParentType.Expanded));
            var parallelChildWorkItems = WorkflowRepository.GetChildWorkItems(workItem.AsParent(WorkItemParentType.Parallelled));

            var childWorkItems = expandedChildWorkItems.Concat(parallelChildWorkItems);

            if (childWorkItems.Count() > 0)
            {
                foreach (var childWorkItem in childWorkItems)
                {
                    DeleteWorkItemRecursively(childWorkItem);
                }
            }


            WorkflowRepository.DeleteWorkItem(workItem.Id);
            CleanUpIfInExpandStep(workItem);
        }
예제 #4
0
 public IEnumerable <WorkItem> GetChildWorkItems(WorkItemParent parent)
 {
     return(WorkflowRepository.GetChildWorkItems(parent));
 }