Refresh campaign started date UI
This commit is contained in:
@ -38,6 +38,7 @@ namespace Hcs.WebApp.BackgroundServices
|
|||||||
{
|
{
|
||||||
managers.Add(manager);
|
managers.Add(manager);
|
||||||
|
|
||||||
|
manager.OnCampaignStarted += OnCampaignStarted;
|
||||||
manager.OnCampaignProgressStep += OnCampaignProgressStep;
|
manager.OnCampaignProgressStep += OnCampaignProgressStep;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -65,6 +66,7 @@ namespace Hcs.WebApp.BackgroundServices
|
|||||||
{
|
{
|
||||||
campaignManagementState.InvokeOnCampaignEnded(manager.Campaign);
|
campaignManagementState.InvokeOnCampaignEnded(manager.Campaign);
|
||||||
|
|
||||||
|
manager.OnCampaignStarted -= OnCampaignStarted;
|
||||||
manager.OnCampaignProgressStep -= OnCampaignProgressStep;
|
manager.OnCampaignProgressStep -= OnCampaignProgressStep;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -102,6 +104,11 @@ namespace Hcs.WebApp.BackgroundServices
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void OnCampaignStarted(Campaign campaign)
|
||||||
|
{
|
||||||
|
campaignManagementState.InvokeOnCampaignStarted(campaign);
|
||||||
|
}
|
||||||
|
|
||||||
private void OnCampaignProgressStep(Campaign campaign)
|
private void OnCampaignProgressStep(Campaign campaign)
|
||||||
{
|
{
|
||||||
campaignManagementState.InvokeOnCampaignProgressStep(campaign);
|
campaignManagementState.InvokeOnCampaignProgressStep(campaign);
|
||||||
|
|||||||
@ -8,6 +8,7 @@ namespace Hcs.WebApp.BackgroundServices
|
|||||||
private readonly ConcurrentQueue<Campaign> campaigns = new();
|
private readonly ConcurrentQueue<Campaign> campaigns = new();
|
||||||
|
|
||||||
public event Action<Campaign> OnCampaignCreated;
|
public event Action<Campaign> OnCampaignCreated;
|
||||||
|
public event Action<Campaign> OnCampaignStarted;
|
||||||
public event Action<Campaign> OnCampaignProgressStep;
|
public event Action<Campaign> OnCampaignProgressStep;
|
||||||
public event Action<Campaign> OnCampaignEnded;
|
public event Action<Campaign> OnCampaignEnded;
|
||||||
|
|
||||||
@ -23,11 +24,11 @@ namespace Hcs.WebApp.BackgroundServices
|
|||||||
return campaigns.TryDequeue(out campaign);
|
return campaigns.TryDequeue(out campaign);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void InvokeOnCampaignEnded(Campaign campaign)
|
public void InvokeOnCampaignStarted(Campaign campaign)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
OnCampaignEnded?.Invoke(campaign);
|
OnCampaignStarted?.Invoke(campaign);
|
||||||
}
|
}
|
||||||
catch { }
|
catch { }
|
||||||
}
|
}
|
||||||
@ -40,5 +41,14 @@ namespace Hcs.WebApp.BackgroundServices
|
|||||||
}
|
}
|
||||||
catch { }
|
catch { }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void InvokeOnCampaignEnded(Campaign campaign)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
OnCampaignEnded?.Invoke(campaign);
|
||||||
|
}
|
||||||
|
catch { }
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -15,6 +15,7 @@ namespace Hcs.WebApp.BackgroundServices.CampaignManagers
|
|||||||
|
|
||||||
public ManagerState State { get; }
|
public ManagerState State { get; }
|
||||||
|
|
||||||
|
event Action<Campaign> OnCampaignStarted;
|
||||||
event Action<Campaign> OnCampaignProgressStep;
|
event Action<Campaign> OnCampaignProgressStep;
|
||||||
|
|
||||||
Task ProcessAsync();
|
Task ProcessAsync();
|
||||||
|
|||||||
@ -81,6 +81,7 @@
|
|||||||
if (state.User.IsInRole(AppRole.ADMINISTRATOR_TYPE) || state.User.IsInRole(AppRole.OPERATOR_TYPE))
|
if (state.User.IsInRole(AppRole.ADMINISTRATOR_TYPE) || state.User.IsInRole(AppRole.OPERATOR_TYPE))
|
||||||
{
|
{
|
||||||
CampaignManagementState.OnCampaignCreated += OnCampaignCreated;
|
CampaignManagementState.OnCampaignCreated += OnCampaignCreated;
|
||||||
|
CampaignManagementState.OnCampaignStarted += OnCampaignStarted;
|
||||||
CampaignManagementState.OnCampaignProgressStep += OnCampaignProgressStep;
|
CampaignManagementState.OnCampaignProgressStep += OnCampaignProgressStep;
|
||||||
CampaignManagementState.OnCampaignEnded += OnCampaignEnded;
|
CampaignManagementState.OnCampaignEnded += OnCampaignEnded;
|
||||||
|
|
||||||
@ -113,6 +114,18 @@
|
|||||||
Task.Run(RefreshCampaigns);
|
Task.Run(RefreshCampaigns);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void OnCampaignStarted(Campaign campaign)
|
||||||
|
{
|
||||||
|
InvokeAsync(() =>
|
||||||
|
{
|
||||||
|
var targetCampaign = campaigns.FirstOrDefault(x => x.Id == campaign.Id);
|
||||||
|
if (targetCampaign != null)
|
||||||
|
{
|
||||||
|
targetCampaign.StartedAt = campaign.StartedAt;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
void OnCampaignProgressStep(Campaign campaign)
|
void OnCampaignProgressStep(Campaign campaign)
|
||||||
{
|
{
|
||||||
InvokeAsync(() =>
|
InvokeAsync(() =>
|
||||||
@ -148,6 +161,7 @@
|
|||||||
public void Dispose()
|
public void Dispose()
|
||||||
{
|
{
|
||||||
CampaignManagementState.OnCampaignCreated -= OnCampaignCreated;
|
CampaignManagementState.OnCampaignCreated -= OnCampaignCreated;
|
||||||
|
CampaignManagementState.OnCampaignStarted -= OnCampaignStarted;
|
||||||
CampaignManagementState.OnCampaignProgressStep -= OnCampaignProgressStep;
|
CampaignManagementState.OnCampaignProgressStep -= OnCampaignProgressStep;
|
||||||
CampaignManagementState.OnCampaignEnded -= OnCampaignEnded;
|
CampaignManagementState.OnCampaignEnded -= OnCampaignEnded;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user