コード例 #1
0
        public string StartWorkflow(string json, object data)
        {
            var def        = DefinitionLoader.LoadDefinition(json);
            var workflowId = Host.StartWorkflow(def.Id, data).Result;

            return(workflowId);
        }
コード例 #2
0
        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));
        }
コード例 #3
0
 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);
     }
 }
コード例 #4
0
        /// <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);
        }
コード例 #5
0
        public IWorkflowService AddWorkflowJson(string definition)
        {
            _definitionLoader.LoadDefinition(definition, Deserializers.Json);

            return(this);
        }