22 lines
1.2 KiB
C#
22 lines
1.2 KiB
C#
using Hcs.WebApp.Data.Hcs;
|
|
|
|
namespace Hcs.WebApp.BackgroundServices.CampaignManagers
|
|
{
|
|
public class ManagerFactory(IServiceScopeFactory serviceScopeFactory, OperationExecutionState operationExecutionState, ResultWaitState resultWaitState)
|
|
{
|
|
protected readonly IServiceScopeFactory serviceScopeFactory = serviceScopeFactory;
|
|
protected readonly OperationExecutionState operationExecutionState = operationExecutionState;
|
|
protected readonly ResultWaitState resultWaitState = resultWaitState;
|
|
|
|
public IManager CreateManager(Campaign campaign)
|
|
{
|
|
return campaign.Type switch
|
|
{
|
|
Campaign.CampaignType.ExportPrivateRegistryElements_15_7_0_1 => new ExportPrivateRegistryElementsManager_15_7_0_1(serviceScopeFactory, operationExecutionState, resultWaitState, campaign),
|
|
Campaign.CampaignType.ExportCommonRegistryElements_15_7_0_1 => new ExportCommonRegistryElementsManager_15_7_0_1(serviceScopeFactory, operationExecutionState, resultWaitState, campaign),
|
|
Campaign.CampaignType.ExportHousesData_15_7_0_1 => new ExportHousesDataManager_15_7_0_1(serviceScopeFactory, operationExecutionState, resultWaitState, campaign)
|
|
};
|
|
}
|
|
}
|
|
}
|