26 lines
961 B
C#
26 lines
961 B
C#
using VigilCare.Simulation;
|
|
|
|
public class ApiPoller : IApiPoller
|
|
{
|
|
private readonly VigilCareApiClient _client;
|
|
private readonly HashSet<Guid> _seenAlertIds = new();
|
|
|
|
public ApiPoller(VigilCareApiClient client) => _client = client;
|
|
|
|
public async Task PollAndDisplayAsync(Guid encounterId, string simTime)
|
|
{
|
|
var news2 = await _client.GetCurrentNews2Async(encounterId);
|
|
var gcs = await _client.GetCurrentGcsAsync(encounterId);
|
|
var sofa = await _client.GetCurrentSofaAsync(encounterId);
|
|
var qsofa = await _client.GetCurrentQsofaAsync(encounterId);
|
|
|
|
var allAlerts = await _client.GetAlertsAsync(encounterId);
|
|
var newAlerts = allAlerts.Where(a => _seenAlertIds.Add(a.Id)).ToList();
|
|
|
|
var bundle = await _client.GetSepsisBundleAsync(encounterId);
|
|
|
|
var result = new PollResult(news2, gcs, sofa, qsofa, newAlerts, bundle);
|
|
SimulatorConsole.PollResults(simTime, result);
|
|
}
|
|
}
|