public async Task <IIdentity> PublishAsync(IWorkflowCatalog catalog, String id) { if (catalog is SqlServerWorkflowCatalog) { var prms = new ExpandoObject(); prms.Set("Id", id); var res = await _dbContext.ReadExpandoAsync(null, $"{Definitions.SqlSchema}.[Catalog.Publish]", prms); return(new Identity() { Id = res.Get <String>("Id"), Version = res.Get <Int32>("Version") }); } else { var wf = await catalog.LoadBodyAsync(id); return(await PublishAsync(id, wf.Body, wf.Format)); } }
void InstantiateWorkflow() { _workflowCatalog = Catalog.Factory.Resolve <IWorkflowCatalog>(); var testCollection = new[] { new TestData { InternalProperty = "TestData0" }, new TestData { InternalProperty = "TestData1" } }; var init = new Dictionary <string, string>(); init.Add("Input0", "TestInput0"); init.Add("CollectionTest", JsonConvert.SerializeObject(testCollection)); string initialData = JsonConvert.SerializeObject(init); var id = _workflowCatalog.CreateInstanceForDefinition(initialData, _jsonTemplate); _wf = _workflowCatalog.OpenInstance(id); while (_wf.Status == WorkflowStatus.NoInstance) { System.Threading.Thread.Sleep(1000); } }
public HomeController(ILogger <HomeController> logger, IDbContext dbContext, IWorkflowCatalog workflowCatalog) { _logger = logger; _dbContext = dbContext; _workflowCatalog = workflowCatalog; }
public EditorController(IWorkflowStorage workflowStorage, IWorkflowCatalog workflowCatalog, IWebHostEnvironment host) { _workflowStorage = workflowStorage; _workflowCatalog = workflowCatalog; _host = host; }
public WorkflowController(IWorkflowEngine engine, IWorkflowCatalog catalog, IWorkflowStorage storage) { _engine = engine; _catalog = catalog; _storage = storage; }