public void WithdrawProcess(string processID, bool cancelAllBranchProcesses) { processID.CheckStringIsNullOrEmpty("processID"); IWfProcess process = WfRuntime.GetProcessByProcessID(processID); WfWithdrawExecutor executor = new WfWithdrawExecutor(process.CurrentActivity, process.CurrentActivity, cancelAllBranchProcesses); executor.Execute(); }
public static IWfProcess WithdrawByExecutor(this IWfProcess process, bool cancelProcess = false) { WfWithdrawExecutor executor = new WfWithdrawExecutor(process.CurrentActivity, process.CurrentActivity, true, cancelProcess); executor.Execute(); return WfRuntime.GetProcessByProcessID(process.ID); ; }
private static IWfProcess DoWithdrawExecutor(IWfProcess originalProcess) { IWfProcess process = WfRuntime.GetProcessByProcessID(originalProcess.ID); WfWithdrawExecutor withdrawExecutor = new WfWithdrawExecutor(process.CurrentActivity, process.CurrentActivity); withdrawExecutor.Execute(); return WfRuntime.GetProcessByProcessID(originalProcess.ID); }
public WfClientProcessInfo WithdrawAndCancel(string processID, WfClientRuntimeContext runtimeContext) { OperationContext.Current.FillContextToOguServiceContext(); return ExecuteProcessActionByProcessID(processID, runtimeContext, (process) => { WfWithdrawExecutor executor = new WfWithdrawExecutor(process.CurrentActivity, process.CurrentActivity, true, true); executor.SaveApplicationData += (dataContext) => SaveAbortOpinion(runtimeContext.Opinion); return executor; }); }