diff --git a/Hcs.WebApp/BackgroundServices/CampaignManagementService.cs b/Hcs.WebApp/BackgroundServices/CampaignManagementService.cs index 0c96b2f..7d75edc 100644 --- a/Hcs.WebApp/BackgroundServices/CampaignManagementService.cs +++ b/Hcs.WebApp/BackgroundServices/CampaignManagementService.cs @@ -29,8 +29,8 @@ namespace Hcs.WebApp.BackgroundServices using var scope = scopeFactory.CreateScope(); try { - var manager = managerFactory.CreateManager(scope, campaign); - await manager.StartAsync(); + var manager = managerFactory.CreateManager(campaign); + await manager.StartAsync(scope); managers.Add(manager); } @@ -43,7 +43,8 @@ namespace Hcs.WebApp.BackgroundServices foreach (var manager in managers) { - await manager.CheckStateAsync(); + using var scope = scopeFactory.CreateScope(); + await manager.CheckStateAsync(scope); } managers.RemoveAll(x => x.State == IManager.ManagerState.Ended); diff --git a/Hcs.WebApp/BackgroundServices/CampaignManagers/ExportCommonRegistryElementsManager_15_7_0_1.cs b/Hcs.WebApp/BackgroundServices/CampaignManagers/ExportCommonRegistryElementsManager_15_7_0_1.cs index 10005de..0e4e852 100644 --- a/Hcs.WebApp/BackgroundServices/CampaignManagers/ExportCommonRegistryElementsManager_15_7_0_1.cs +++ b/Hcs.WebApp/BackgroundServices/CampaignManagers/ExportCommonRegistryElementsManager_15_7_0_1.cs @@ -3,9 +3,9 @@ using Hcs.WebApp.Services; namespace Hcs.WebApp.BackgroundServices.CampaignManagers { - public class ExportCommonRegistryElementsManager_15_7_0_1(IServiceScope scope, OperationExecutionState operationExecutionState, Campaign campaign) : ManagerBase(scope, operationExecutionState, campaign) + public class ExportCommonRegistryElementsManager_15_7_0_1(OperationExecutionState operationExecutionState, Campaign campaign) : ManagerBase(operationExecutionState, campaign) { - public override async Task StartAsync() + public override async Task StartAsync(IServiceScope scope) { if (campaign.Step > 0) return; @@ -41,7 +41,7 @@ namespace Hcs.WebApp.BackgroundServices.CampaignManagers State = IManager.ManagerState.Started; } - public override async Task CheckStateAsync() + public override async Task CheckStateAsync(IServiceScope scope) { if (State == IManager.ManagerState.Started) { diff --git a/Hcs.WebApp/BackgroundServices/CampaignManagers/IManager.cs b/Hcs.WebApp/BackgroundServices/CampaignManagers/IManager.cs index e36f8e5..a96ab44 100644 --- a/Hcs.WebApp/BackgroundServices/CampaignManagers/IManager.cs +++ b/Hcs.WebApp/BackgroundServices/CampaignManagers/IManager.cs @@ -11,8 +11,8 @@ public ManagerState State { get; } - Task StartAsync(); + Task StartAsync(IServiceScope scope); - Task CheckStateAsync(); + Task CheckStateAsync(IServiceScope scope); } } diff --git a/Hcs.WebApp/BackgroundServices/CampaignManagers/ManagerBase.cs b/Hcs.WebApp/BackgroundServices/CampaignManagers/ManagerBase.cs index fdcc006..a7277b2 100644 --- a/Hcs.WebApp/BackgroundServices/CampaignManagers/ManagerBase.cs +++ b/Hcs.WebApp/BackgroundServices/CampaignManagers/ManagerBase.cs @@ -2,16 +2,15 @@ namespace Hcs.WebApp.BackgroundServices.CampaignManagers { - public abstract class ManagerBase(IServiceScope scope, OperationExecutionState operationExecutionState, Campaign campaign) : IManager + public abstract class ManagerBase(OperationExecutionState operationExecutionState, Campaign campaign) : IManager { - protected readonly IServiceScope scope = scope; protected readonly OperationExecutionState operationExecutionState = operationExecutionState; protected readonly Campaign campaign = campaign; public IManager.ManagerState State { get; protected set; } = IManager.ManagerState.Created; - public abstract Task StartAsync(); + public abstract Task StartAsync(IServiceScope scope); - public abstract Task CheckStateAsync(); + public abstract Task CheckStateAsync(IServiceScope scope); } } diff --git a/Hcs.WebApp/BackgroundServices/CampaignManagers/ManagerFactory.cs b/Hcs.WebApp/BackgroundServices/CampaignManagers/ManagerFactory.cs index bc1e44a..d47f816 100644 --- a/Hcs.WebApp/BackgroundServices/CampaignManagers/ManagerFactory.cs +++ b/Hcs.WebApp/BackgroundServices/CampaignManagers/ManagerFactory.cs @@ -6,12 +6,12 @@ namespace Hcs.WebApp.BackgroundServices.CampaignManagers { protected readonly OperationExecutionState state = state; - public IManager CreateManager(IServiceScope scope, Campaign campaign) + public IManager CreateManager(Campaign campaign) { switch (campaign.Type) { case Campaign.CampaignType.ExportCommonRegistryElements_15_7_0_1: - return new ExportCommonRegistryElementsManager_15_7_0_1(scope, state, campaign); + return new ExportCommonRegistryElementsManager_15_7_0_1(state, campaign); } throw new NotImplementedException();