Notify clients when campaign ends

This commit is contained in:
2025-11-03 19:11:57 +09:00
parent ae4d30d27b
commit a91dd6d034
5 changed files with 47 additions and 1 deletions

View File

@ -90,6 +90,7 @@
}
CampaignManagementState.OnCampaignCreated += OnCampaignCreated;
CampaignManagementState.OnCampaignEnded += OnCampaignEnded;
registries = await RegistryService.GetAllRegistriesAsync(true);
}
@ -168,8 +169,29 @@
}
}
void OnCampaignEnded(Campaign campaign)
{
if (campaign.Type == Campaign.CampaignType.ExportCommonRegistryElements_15_7_0_1)
{
InvokeAsync(() => Task.Run(RefreshRegistries));
}
}
async Task RefreshRegistries()
{
ChangeState(CommonPageState.Loading);
registries = await RegistryService.GetAllRegistriesAsync(true);
if (state != CommonPageState.OperationWaiting)
{
ChangeState(CommonPageState.Idle);
}
}
public void Dispose()
{
CampaignManagementState.OnCampaignCreated -= OnCampaignCreated;
CampaignManagementState.OnCampaignEnded -= OnCampaignEnded;
}
}