Fix declarative composite activity definition to blueprint mapping
This commit is contained in:
parent
b5f5d5d223
commit
4b33418cf7
|
|
@ -181,6 +181,8 @@ namespace Microsoft.Extensions.DependencyInjection
|
|||
return options;
|
||||
}
|
||||
|
||||
private static ElsaOptions AddCoreActivities(this ElsaOptions services) => services.AddActivitiesFrom<ElsaOptions>();
|
||||
private static ElsaOptions AddCoreActivities(this ElsaOptions services) => services
|
||||
.AddActivitiesFrom<ElsaOptions>()
|
||||
.AddActivitiesFrom<CompositeActivity>();
|
||||
}
|
||||
}
|
||||
|
|
@ -6,6 +6,7 @@ using Elsa.ActivityProviders;
|
|||
using Elsa.Models;
|
||||
using Elsa.Services.Models;
|
||||
using Microsoft.Extensions.Logging;
|
||||
using NetBox.Extensions;
|
||||
|
||||
namespace Elsa.Services
|
||||
{
|
||||
|
|
@ -103,8 +104,8 @@ namespace Elsa.Services
|
|||
var activityBlueprints = manyActivityBlueprints.SelectMany(x => x).ToDictionary(x => x.Id);
|
||||
|
||||
list.AddRange(activityBlueprints.Values);
|
||||
|
||||
list.Add(new CompositeActivityBlueprint
|
||||
|
||||
var compositeActivityBlueprint = new CompositeActivityBlueprint
|
||||
{
|
||||
Id = activityDefinition.ActivityId,
|
||||
Type = activityDefinition.Type,
|
||||
|
|
@ -116,7 +117,13 @@ namespace Elsa.Services
|
|||
LoadWorkflowContext = activityDefinition.LoadWorkflowContext,
|
||||
SaveWorkflowContext = activityDefinition.SaveWorkflowContext,
|
||||
ActivityPropertyProviders = await CreatePropertyProviders(compositeActivityDefinition, cancellationToken)
|
||||
});
|
||||
};
|
||||
|
||||
list.Add(compositeActivityBlueprint);
|
||||
|
||||
// Connect the composite activity to its starting activities.
|
||||
var startActivities = compositeActivityBlueprint.GetStartActivities().ToList();
|
||||
compositeActivityBlueprint.Connections.AddRange(startActivities.Select(x => new Connection(compositeActivityBlueprint, x, CompositeActivity.Enter)));
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
|
|||
Loading…
Reference in a new issue