public void CleanUpIfInExpandStep(WorkItem workItemToMove) { WorkStep expandStep; if (WorkflowRepository.IsInExpandStep(workItemToMove, out expandStep)) { var transientStepPath = ExpandedWorkStep.GetTransientPath(expandStep, workItemToMove); var transientStep = WorkflowRepository.GetWorkStep(transientStepPath); WorkflowRepository.DeleteWorkStepsRecursively(transientStep); } }
private void CreateTransientWorkSteps(WorkItem item, WorkStep expandStep) { Debug.Assert(expandStep.Type == WorkStepType.Expand); var transientRootPath = ExpandedWorkStep.GetTransientPath(expandStep, item); CreateTransientWorkStepsRecursively(transientRootPath, expandStep, item.Id); var workItemClass = WorkItemClass.Combine(expandStep.WorkItemClass, item.Id); var transientWorkStep = WorkStep.New(transientRootPath).UpdateFrom(expandStep).UpdateType(WorkStepType.Transient).UpdateWorkItemClass(workItemClass); WorkflowRepository.CreateWorkStep(transientWorkStep); }