public IWorkflowBlueprint Build(IWorkflow workflow, string activityIdPrefix) { var workflowTypeName = workflow.GetType().Name; Name ??= workflowTypeName; DisplayName ??= workflowTypeName; WithId(workflowTypeName); workflow.Build(this); return(BuildBlueprint(activityIdPrefix)); }
public void RegisterWorkflow(IWorkflow workflow) { if (_registry.Any(x => x.Item1 == workflow.Id && x.Item2 == workflow.Version)) { throw new InvalidOperationException($"Workflow {workflow.Id} version {workflow.Version} is already registered"); } var builder = (_serviceProvider.GetService(typeof(IWorkflowBuilder)) as IWorkflowBuilder).UseData <object>(); workflow.Build(builder); var def = builder.Build(workflow.Id, workflow.Version); _registry.Add(new Tuple <string, int, WorkflowDefinition>(workflow.Id, workflow.Version, def)); }
public void RegisterWorkflow(IWorkflow workflow) { if (_registry.Any(x => x.Item1 == workflow.Id && x.Item2 == workflow.Version)) { throw new InvalidOperationException($"Workflow {workflow.Id} version {workflow.Version} is already registered"); } var builder = _serviceProvider.GetService <IWorkflowBuilder>().UseData <object>(); workflow.Build(builder); var def = builder.Build(workflow.Id, workflow.Version); _registry.Add(Tuple.Create(workflow.Id, workflow.Version, def)); }
public void RegisterWorkflow <TData>(IWorkflow <TData> workflow) where TData : new() { if (_registry.Any(x => x.Item1 == workflow.Id && x.Item2 == workflow.Version)) { throw new Exception(String.Format("Workflow {0} version {1} is already registed", workflow.Id, workflow.Version)); } var builder = (_serviceProvider.GetService(typeof(IWorkflowBuilder)) as IWorkflowBuilder).UseData <TData>(); workflow.Build(builder); var def = builder.Build(workflow.Id, workflow.Version); _registry.Add(new Tuple <string, int, WorkflowDefinition>(workflow.Id, workflow.Version, def)); }
public void RegisterWorkflow <TData>(IWorkflow <TData> workflow) where TData : new() { if (_registry.Any(x => x.Item1 == workflow.Id && x.Item2 == workflow.Version && x.Item3 == workflow.TenantId)) { throw new InvalidOperationException($"Workflow {workflow.Id} version {workflow.Version} tenant {workflow.TenantId} is already registed"); } var builder = (_serviceProvider.GetService(typeof(IWorkflowBuilder)) as IWorkflowBuilder).UseData <TData>(); workflow.Build(builder); var def = builder.Build(workflow.Id, workflow.TenantId, workflow.Version); _registry.Add(new Tuple <string, int, int?, WorkflowDefinition>(workflow.Id, workflow.Version, workflow.TenantId, def)); }