From 78aa011df8f5e8ef2cea30cd2e8d6c2cd3fa4d65 Mon Sep 17 00:00:00 2001 From: Sipke Schoorstra Date: Sun, 23 Jul 2023 19:38:52 +0200 Subject: [PATCH] Generate default instance ID --- .../Services/WorkflowHostFactory.cs | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/src/modules/Elsa.Workflows.Runtime/Services/WorkflowHostFactory.cs b/src/modules/Elsa.Workflows.Runtime/Services/WorkflowHostFactory.cs index 6b1c20c12..94132f3e9 100644 --- a/src/modules/Elsa.Workflows.Runtime/Services/WorkflowHostFactory.cs +++ b/src/modules/Elsa.Workflows.Runtime/Services/WorkflowHostFactory.cs @@ -1,29 +1,39 @@ using Elsa.Workflows.Core.Activities; +using Elsa.Workflows.Core.Contracts; using Elsa.Workflows.Core.State; using Elsa.Workflows.Runtime.Contracts; using Microsoft.Extensions.DependencyInjection; namespace Elsa.Workflows.Runtime.Services; +/// public class WorkflowHostFactory : IWorkflowHostFactory { + private readonly IIdentityGenerator _identityGenerator; private readonly IServiceProvider _serviceProvider; - public WorkflowHostFactory(IServiceProvider serviceProvider) + /// + /// Initializes a new instance of the class. + /// + public WorkflowHostFactory(IIdentityGenerator identityGenerator, IServiceProvider serviceProvider) { + _identityGenerator = identityGenerator; _serviceProvider = serviceProvider; } - + + /// public Task CreateAsync(Workflow workflow, WorkflowState workflowState, CancellationToken cancellationToken = default) { var workflowHost = (IWorkflowHost)ActivatorUtilities.CreateInstance(_serviceProvider, workflow, workflowState); return Task.FromResult(workflowHost); } + /// public Task CreateAsync(Workflow workflow, CancellationToken cancellationToken = default) { var workflowState = new WorkflowState { + Id = _identityGenerator.GenerateId(), DefinitionId = workflow.Identity.DefinitionId, DefinitionVersion = workflow.Identity.Version };