public string StartWorkflow(string json, object data) { var def = DefinitionLoader.LoadDefinition(json); var workflowId = Host.StartWorkflow(def.Id, data).Result; return(workflowId); }
public IActionResult UploadWorkflowDefinition(IFormFile file) { var definition = new StreamReader(file.OpenReadStream()).ReadToEnd(); var deserializer = file.FileName.EndsWith("yaml", StringComparison.CurrentCultureIgnoreCase) ? Deserializers.Yaml : Deserializers.Json; var id = _definitionLoader.LoadDefinition(definition, deserializer).Id; return(Ok(id)); }
public string RegisterWorkflowByJson(object jsonFlow) { try { _loader.LoadDefinition(_workflows.FindingFlow.ToString()); _loader.LoadDefinition(_workflows.AuditFlow.ToString()); _loader.LoadDefinition(_workflows.CorrectiveActionFlow.ToString()); return("Flujo registrado correctamente"); } catch (Exception ex) { return(ex.Message); } }
/// <summary> /// 注册工作流 /// </summary> /// <param name="input"></param> /// <returns></returns> internal WorkflowDefinition LoadDefinition(PersistedWorkflowDefinition input) { if (_registry.IsRegistered(input.Id.ToString(), input.Version)) { throw new AbpException($"the workflow {input.Id} has ben definded!"); } var source = new DefinitionSourceV1(); source.Id = input.Id.ToString(); source.Version = input.Version; source.Description = input.Title; source.DataType = $"{typeof(Dictionary<string, object>).FullName}, {typeof(Dictionary<string, object>).Assembly.FullName}"; BuildWorkflow(input.Nodes, source, _stepBodys, input.Nodes.First(u => u.Key.ToLower().StartsWith("start"))); var json = source.ToJsonString(); Logger.DebugFormat("Workflow Json:{0}", json); var def = _definitionLoader.LoadDefinition(json, Deserializers.Json); return(def); }
public IWorkflowService AddWorkflowJson(string definition) { _definitionLoader.LoadDefinition(definition, Deserializers.Json); return(this); }