diff --git a/Hcs.WebApp/BackgroundServices/CampaignManagers/ManagerFactory.cs b/Hcs.WebApp/BackgroundServices/CampaignManagers/ManagerFactory.cs index 36a5bcd..abca7c7 100644 --- a/Hcs.WebApp/BackgroundServices/CampaignManagers/ManagerFactory.cs +++ b/Hcs.WebApp/BackgroundServices/CampaignManagers/ManagerFactory.cs @@ -7,15 +7,19 @@ namespace Hcs.WebApp.BackgroundServices.CampaignManagers protected readonly IServiceScopeFactory serviceScopeFactory = serviceScopeFactory; protected readonly OperationExecutionState operationExecutionState = operationExecutionState; protected readonly ResultGetState resultGetState = resultGetState; + protected readonly DataParsingState dataParsingState = dataParsingState; public IManager CreateManager(Campaign campaign) { - return campaign.Type switch + var type = campaign.Type switch { - Campaign.CampaignType.ExportPrivateRegistryElements_15_7_0_1 => new ExportPrivateRegistryElementsManager_15_7_0_1(serviceScopeFactory, operationExecutionState, resultGetState, dataParsingState, campaign), - Campaign.CampaignType.ExportCommonRegistryElements_15_7_0_1 => new ExportCommonRegistryElementsManager_15_7_0_1(serviceScopeFactory, operationExecutionState, resultGetState, dataParsingState, campaign), - Campaign.CampaignType.ParseHousesData_15_7_0_1 => new ParseHousesDataManager_15_7_0_1(serviceScopeFactory, operationExecutionState, resultGetState, dataParsingState, campaign) + Campaign.CampaignType.ExportPrivateRegistryElements_15_7_0_1 => typeof(ExportPrivateRegistryElementsManager_15_7_0_1), + Campaign.CampaignType.ExportCommonRegistryElements_15_7_0_1 => typeof(ExportCommonRegistryElementsManager_15_7_0_1), + Campaign.CampaignType.ParseHousesData_15_7_0_1 => typeof(ParseHousesDataManager_15_7_0_1) }; + var args = new object[] { serviceScopeFactory, operationExecutionState, resultGetState, dataParsingState, campaign }; + var instance = Activator.CreateInstance(type, args); + return (IManager)instance!; } } }