elsa-core/samples/drop-ins/SampleDropIn/DropIn.cs
2024-10-11 20:41:49 +02:00

31 lines
989 B
C#

using Elsa.DropIns.Core;
using Elsa.Extensions;
using Elsa.Features.Services;
using Elsa.Workflows;
using JetBrains.Annotations;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Logging;
using SampleDropIn.Activities;
namespace SampleDropIn;
[PublicAPI]
public class DropIn : IDropIn
{
public void Install(IModule module)
{
module.AddActivitiesFrom<DropIn>();
}
public async ValueTask ConfigureAsync(IServiceProvider serviceProvider, CancellationToken cancellationToken)
{
var activityRegistry = serviceProvider.GetRequiredService<IActivityRegistry>();
await activityRegistry.RegisterAsync<SampleActivity>(cancellationToken: cancellationToken);
}
public void Unconfigure(IServiceProvider serviceProvider)
{
var activityRegistry = serviceProvider.GetRequiredService<IActivityRegistry>();
activityRegistry.Remove(typeof(ActivityRegistry), activityRegistry.Find<SampleActivity>()!);
}
}