Change events args

This commit is contained in:
2025-11-05 18:49:58 +09:00
parent e58221c430
commit 1d58bf8439
10 changed files with 99 additions and 66 deletions

View File

@ -44,6 +44,7 @@ namespace Hcs.WebApp.BackgroundServices.CampaignManagers
private async Task DoStartStepAsync()
{
DateTime startedAt = default;
IEnumerable<Operation>? operations = null;
using var context = HeadquartersService.GetNewContext();
@ -53,7 +54,8 @@ namespace Hcs.WebApp.BackgroundServices.CampaignManagers
using var transaction = await context.Database.BeginTransactionAsync();
try
{
await HeadquartersService.SetCampaignStartedAsync(context, campaign.Id);
startedAt = DateTime.UtcNow;
await HeadquartersService.SetCampaignStartedAsync(context, campaign.Id, startedAt);
await ProgressStepAsync(context, (int)Step.ExecutionWait);
@ -80,6 +82,8 @@ namespace Hcs.WebApp.BackgroundServices.CampaignManagers
}
State = IManager.ManagerState.Started;
InvokeOnCampaignStarted(startedAt);
}
private async Task DoExecutionWaitStepAsync()
@ -102,6 +106,8 @@ namespace Hcs.WebApp.BackgroundServices.CampaignManagers
{
if (resultWaitState.HasCampaignOperation(campaign.Id)) return;
DateTime endedAt = default;
using var context = HeadquartersService.GetNewContext();
var executionStrategy = context.Database.CreateExecutionStrategy();
await executionStrategy.ExecuteAsync(async () =>
@ -111,7 +117,8 @@ namespace Hcs.WebApp.BackgroundServices.CampaignManagers
{
await ProgressStepAsync(context, (int)Step.End);
await HeadquartersService.SetCampaignEndedAsync(context, campaign.Id);
endedAt = DateTime.UtcNow;
await HeadquartersService.SetCampaignEndedAsync(context, campaign.Id, endedAt);
await transaction.CommitAsync();
}
@ -124,6 +131,8 @@ namespace Hcs.WebApp.BackgroundServices.CampaignManagers
});
State = IManager.ManagerState.Ended;
InvokeOnCampaignEnded(endedAt, string.Empty);
}
}
}