public Task <Deployment> Deploy([FromBody] ProcessDefinitionDeployer deployer) { 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))); }
public Task <Deployment> Save(ProcessDefinitionDeployer deployer) { try { IDeploymentBuilder deployment = this.repositoryService .CreateDeployment() .DisableDuplicateStartForm(); deployment.DisableBpmnValidation(); deployment.DisableSchemaValidation(); 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) .Save(); return(Task.FromResult <Deployment>(deploymentConverter.From(dep))); } catch (StartFormUniqueException ex) { throw new Http400Exception(new Http400 { Code = "startFormUniqueException", Message = ex.Message }, ex); } }
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); } }