Ejemplo n.º 1
0
        public virtual Task <bool> CompleteTask([FromBody] CompleteTaskCmd completeTaskCmd)
        {
            Http400 http400 = null;

            try
            {
                processEngine.CompleteTask(completeTaskCmd);
            }
            catch (Exception ex)
            {
                if (http400 is null)
                {
                    http400 = new Http400();
                }
                http400.Code    = "completeTask[]";
                http400.Message = ex.Message;
                http400.Details.Add(new HttpException
                {
                    Message = ex.Message
                });
            }

            if (http400 is null == false)
            {
                throw new Http400Exception(http400, null);
            }

            return(Task.FromResult(true));
        }
Ejemplo n.º 2
0
        public Task <Deployment> Deploy([FromBody] ProcessDefinitionDeployer deployer)
        {
            try
            {
                IDeploymentBuilder deployment = this.repositoryService.CreateDeployment();

                if (deployer.DisableSchemaValidation)
                {
                    deployment.DisableSchemaValidation();
                }

                if (deployer.EnableDuplicateFiltering)
                {
                    deployment.EnableDuplicateFiltering();
                }

                string resourceName = deployer.Name.EndsWith("bpmn", StringComparison.OrdinalIgnoreCase) ? deployer.Name : $"{deployer.Name}.bpmn";

                IDeployment dep = deployment.Name(deployer.Name)
                                  .Category(deployer.Category)
                                  .Key(deployer.Key)
                                  .TenantId(deployer.TenantId)
                                  .BusinessKey(deployer.BusinessKey)
                                  .BusinessPath(deployer.BusinessPath)
                                  .StartForm(deployer.StartForm, deployer.BpmnXML)
                                  .AddString(resourceName, deployer.BpmnXML)
                                  .Deploy();

                return(Task.FromResult(deploymentConverter.From(dep)));
            }
            catch (ActivitiValidationException ex)
            {
                var http400 = new Http400()
                {
                    Code    = "activitiValidationException",
                    Message = "流程定义验证失败",
                    Target  = this.GetType().Name,
                };

                http400.Details = new List <HttpException>();
                foreach (var err in ex.ValidationErrors ?? new List <ValidationError>())
                {
                    http400.Details.Add(new Http400
                    {
                        Code        = "activitiValidationException",
                        OriginError = err,
                        Message     = err.ToString()
                    });
                }

                throw new Http400Exception(http400, ex);
            }
        }