Add campaign manager
This commit is contained in:
@ -0,0 +1,12 @@
|
||||
using Hcs.WebApp.Data.Hcs;
|
||||
|
||||
namespace Hcs.WebApp.BackgroundServices.CampaignManagers
|
||||
{
|
||||
public class ExportRequiredRegistryElementsManager_15_7_0_1(OperationExecutionState state, IServiceScopeFactory scopeFactory, Campaign campaign) : ManagerBase(state, scopeFactory, campaign)
|
||||
{
|
||||
public override async Task StartAsync(CancellationToken cancellationToken)
|
||||
{
|
||||
// TODO
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,7 @@
|
||||
namespace Hcs.WebApp.BackgroundServices.CampaignManagers
|
||||
{
|
||||
public interface IManager
|
||||
{
|
||||
Task StartAsync(CancellationToken cancellationToken);
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,13 @@
|
||||
using Hcs.WebApp.Data.Hcs;
|
||||
|
||||
namespace Hcs.WebApp.BackgroundServices.CampaignManagers
|
||||
{
|
||||
public abstract class ManagerBase(OperationExecutionState state, IServiceScopeFactory scopeFactory, Campaign campaign) : IManager
|
||||
{
|
||||
protected readonly OperationExecutionState state = state;
|
||||
protected readonly IServiceScopeFactory scopeFactory = scopeFactory;
|
||||
protected readonly Campaign campaign = campaign;
|
||||
|
||||
public abstract Task StartAsync(CancellationToken cancellationToken);
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,21 @@
|
||||
using Hcs.WebApp.Data.Hcs;
|
||||
|
||||
namespace Hcs.WebApp.BackgroundServices.CampaignManagers
|
||||
{
|
||||
public class ManagerFactory(OperationExecutionState state, IServiceScopeFactory scopeFactory)
|
||||
{
|
||||
protected readonly OperationExecutionState state = state;
|
||||
protected readonly IServiceScopeFactory scopeFactory = scopeFactory;
|
||||
|
||||
public IManager CreateManager(Campaign campaign)
|
||||
{
|
||||
switch (campaign.Type)
|
||||
{
|
||||
case Campaign.CampaignType.ExportRequiredRegistryElements_15_7_0_1:
|
||||
return new ExportRequiredRegistryElementsManager_15_7_0_1(state, scopeFactory, campaign);
|
||||
}
|
||||
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user