public void WithdrawProcessAndCancelBranchProcessRunning() { IWfProcess process = GetProcessInstance(false); string fromActivityId = process.CurrentActivity.ID; process.Withdraw(process.Activities[0], true); WfRuntime.PersistWorkflows(); CheckOperationAndStatusAfterWithdrawProcess(process.ID, fromActivityId, process.Activities[0].ID); }
public void WithdrawProcessWithBranchProcess() { IWfProcess process = GetProcessInstance(true); string fromActivityID = process.CurrentActivity.ID; process.Withdraw(process.Activities[0], false); WfRuntime.PersistWorkflows(); //撤销两步后查阅状态 CheckOperationAndStatusAfterWithdrawProcess(process.ID, fromActivityID, process.Activities[0].ID); }
public void WithdrawProcessAndCancelBranchProcessCompleted() { IWfProcess process = GetProcessInstance(true); string fromActivityId = process.CurrentActivity.ID; process.Withdraw(process.Activities[0], true); WfRuntime.PersistWorkflows(); CheckOperationAndStatusAfterWithdrawProcess(process.ID, fromActivityId, process.Activities[0].ID); process = WfRuntime.GetProcessByProcessID(process.ID); CheckOperationAndStatusAfterCancelProcess(process.Activities[1].BranchProcessGroups[0].Branches[0]); CheckOperationAndStatusAfterCancelProcess(process.Activities[1].BranchProcessGroups[0].Branches[1]); }
public void WithdrawAndReplayRunProcessActivityWithBranchProcess() { IWfProcess process = GetProcessInstance(false); string fromActivityId = process.CurrentActivity.ID; process.Withdraw(process.Activities[0], true); //撤回 WfRuntime.PersistWorkflows(); CheckOperationAndStatusAfterWithdrawProcess(process.ID, fromActivityId, process.Activities[0].ID); process = WfRuntime.GetProcessByProcessID(process.ID); WfTransferParams pa = ProcessTestHelper.GetInstanceOfWfTransferParams(process, WfBranchProcessExecuteSequence.Parallel, WfBranchProcessBlockingType.WaitAllBranchProcessesComplete); process.MoveTo(pa); Assert.AreEqual(4, process.CurrentActivity.BranchProcessGroups[0].Branches.Count, "当前节点的分支流程应为撤回前与当前的,即4"); }
public void WithdrawDelegationTestReplay() { WfDelegation delegation = PrepareDelegation(); WfDelegationAdapter.Instance.Update(delegation); try { IWfProcess process = WfProcessTestCommon.StartupProcessWithAssignee(); IWfActivityDescriptor nextActivityDesp = process.CurrentActivity.Descriptor.ToTransitions[0].ToActivity; WfTransferParams tp = ProcessTestHelper.GetInstanceOfWfTransferParams(nextActivityDesp, OguObject.approver2); process.MoveTo(tp); WfRuntime.PersistWorkflows(); process = WfRuntime.GetProcessByProcessID(process.ID); nextActivityDesp = process.CurrentActivity.Descriptor.ToTransitions[0].ToActivity; tp = ProcessTestHelper.GetInstanceOfWfTransferParams(nextActivityDesp, OguObject.approver1); process.MoveTo(tp); WfRuntime.PersistWorkflows(); process = WfRuntime.GetProcessByProcessID(process.ID); nextActivityDesp = process.CurrentActivity.Descriptor.ToTransitions[0].ToActivity; tp = ProcessTestHelper.GetInstanceOfWfTransferParams(nextActivityDesp, OguObject.approver2); process.MoveTo(tp); WfRuntime.PersistWorkflows(); process = WfRuntime.GetProcessByProcessID(process.ID); process.Withdraw(process.Activities[2], false); //撤回 WfRuntime.PersistWorkflows(); process = WfRuntime.GetProcessByProcessID(process.ID); Assert.AreEqual(2, ProcessTestHelper.GetActivityUserTasks(process.Activities[2].ID, TaskStatus.Ban).Count, "应该产生两条待办"); } finally { WfDelegationAdapter.Instance.Delete(delegation); } }
public void WithdrawAndReplayRunProcessActivity() { IWfProcess process = GetProcessInstance(false); string fromActivityId = process.CurrentActivity.ID; string branchProcessID1 = process.CurrentActivity.BranchProcessGroups[0].Branches[0].ID; string branchProcessID2 = process.CurrentActivity.BranchProcessGroups[0].Branches[1].ID; process.Withdraw(process.Activities[0], true); WfRuntime.PersistWorkflows(); CheckOperationAndStatusAfterWithdrawProcess(process.ID, fromActivityId, process.Activities[0].ID); IWfProcess proc = WfRuntime.GetProcessByProcessID(process.ID); WfTransferParams pa = new WfTransferParams(proc.Activities[1].Descriptor); proc.MoveTo(pa); Assert.AreEqual(2, proc.CurrentActivity.BranchProcessGroups[0].Branches.Count, "当前节点的分支流程应为在撤回前的个数,即2"); Assert.AreEqual(branchProcessID1, proc.CurrentActivity.BranchProcessGroups[0].Branches[0].ID); Assert.AreEqual(branchProcessID2, proc.CurrentActivity.BranchProcessGroups[0].Branches[1].ID); }