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));
            }
        }
Exemple #2
0
        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;
 }
Exemple #5
0
 public WorkflowController(IWorkflowEngine engine, IWorkflowCatalog catalog, IWorkflowStorage storage)
 {
     _engine  = engine;
     _catalog = catalog;
     _storage = storage;
 }