From a3c382ecb51f201035ab791e2769642b30ddae34 Mon Sep 17 00:00:00 2001 From: "HOME-LAPTOP\\kshkulev" Date: Wed, 5 Nov 2025 17:03:24 +0900 Subject: [PATCH] Notify about campaign start --- .../CampaignManagers/ManagerBase.cs | 25 ++++++++++++++++--- 1 file changed, 21 insertions(+), 4 deletions(-) diff --git a/Hcs.WebApp/BackgroundServices/CampaignManagers/ManagerBase.cs b/Hcs.WebApp/BackgroundServices/CampaignManagers/ManagerBase.cs index cd703d4..f599395 100644 --- a/Hcs.WebApp/BackgroundServices/CampaignManagers/ManagerBase.cs +++ b/Hcs.WebApp/BackgroundServices/CampaignManagers/ManagerBase.cs @@ -15,16 +15,33 @@ namespace Hcs.WebApp.BackgroundServices.CampaignManagers protected readonly ResultWaitState resultWaitState = resultWaitState; protected readonly Campaign campaign = campaign; + private IManager.ManagerState state; private HeadquartersService? headquartersService; + public Campaign Campaign => campaign; + + public IManager.ManagerState State + { + get => state; + set + { + if (state != value) + { + state = value; + + if (state == IManager.ManagerState.Started) + { + OnCampaignStarted?.Invoke(campaign); + } + } + } + } + protected HeadquartersService HeadquartersService => headquartersService ??= scope.ServiceProvider.GetRequiredService(); protected abstract int StepCount { get; } - public Campaign Campaign => campaign; - - public IManager.ManagerState State { get; protected set; } = IManager.ManagerState.Created; - + public event Action OnCampaignStarted; public event Action? OnCampaignProgressStep; public abstract Task ProcessAsync();