Example #1
0
        public void Terminate_先启动流程_然后强制终止流程(string bpmnFile)
        {
            var ex = Record.Exception(() =>
            {
                string uid = Guid.NewGuid().ToString();
                ProcessInstance[] instances = AsyncHelper.RunSync(() => ctx.StartUseFile(bpmnFile, new string[] { uid }));

                Assert.NotNull(instances);
                Assert.True(instances.Count() > 0);

                TerminateProcessInstanceCmd cmd = new TerminateProcessInstanceCmd(instances[0].Id, "测试终止流程");

                AsyncHelper.RunSync <ActionResult>(() => client.Terminate(cmd));

                ProcessInstance inst = AsyncHelper.RunSync <ProcessInstance>(() => client.GetProcessInstanceById(instances[0].Id));

                Assert.Null(inst);
            });

            Assert.NotNull(ex);
            Assert.IsType <Http400Exception>(ex);
        }
        public virtual Task <ActionResult> Terminate(TerminateProcessInstanceCmd cmd)
        {
            processEngineWrapper.TerminateProcessInstance(cmd.ProcessInstanceId, cmd.Reason);

            return(Task.FromResult <ActionResult>(Ok()));
        }
 /// <inheritdoc />
 public async Task <ActionResult> Terminate(TerminateProcessInstanceCmd cmd)
 {
     return(await httpProxy.PostAsync <ActionResult>($"{serviceUrl}/terminate", cmd).ConfigureAwait(false));
 }