Beispiel #1
0
        public int DispatchWithdrawProcessTask(string ownerSysActivityID, string processID, bool cancelAllBranchProcesses)
        {
            IWfProcess process = WfRuntime.GetProcessByProcessID(processID);

            IWfActivity currentActivity = process.CurrentActivity;

            process.EntrtMaintainingStatus();

            WfRuntime.PersistWorkflows();

            DispatchWithdrawProcessSysTaskProcessBuilder builder = new DispatchWithdrawProcessSysTaskProcessBuilder(ownerSysActivityID, process.ID, cancelAllBranchProcesses);

            SysTaskProcess sysTaskProcess = builder.Build();

            SysTaskProcessRuntime.StartProcess(sysTaskProcess);

            return(sysTaskProcess.Activities.Count);
        }
        public void BuildCancelProcessTaskProcessTest()
        {
            IWfProcessDescriptor processDesp = WfProcessTestCommon.CreateSimpleProcessDescriptorWithBranchTemplate();

            IWfProcess process = WfProcessTestCommon.StartupProcess(processDesp);

            MoveToExecutor(process);

            process = WfRuntime.GetProcessByProcessID(process.ID);

            IWfActivity ownerActivity = process.CurrentActivity;

            process.EntrtMaintainingStatus();

            WfRuntime.PersistWorkflows();

            DispatchCancelProcessSysTaskProcessBuilder builder = new DispatchCancelProcessSysTaskProcessBuilder(process.ID, true);

            SysTaskProcess sysTaskProcess = builder.Build();

            Console.WriteLine(sysTaskProcess.Activities.Count);

            Assert.AreEqual(3, sysTaskProcess.Activities.Count);
        }