24 lines
1015 B
C#
24 lines
1015 B
C#
using Microsoft.AspNetCore.SignalR;
|
|
using ClientApiPoC.Shared.SignalR;
|
|
using ClientApiPoC.Shared.Models;
|
|
|
|
namespace ClientApiPoC.ApiService {
|
|
public class TunnelServer : TunnelServerBase {
|
|
public TunnelServer(IHubContext<TunnelHub> hubContext, ClientTracker clientTracker) : base(hubContext, clientTracker) { }
|
|
|
|
public async Task<IEnumerable<ClientResultModel>> GetDataFromAllClientsAsync() {
|
|
var timestampServer = DateTime.UtcNow;
|
|
var results = new List<ClientResultModel>();
|
|
var clients = this.GetAllClients();
|
|
foreach (var client in clients) {
|
|
var clientData = await client.Value.InvokeAsync<ClientDataModel>("GetClientData", timestampServer, CancellationToken.None);
|
|
var result = new ClientResultModel() {
|
|
ClientId = client.Key,
|
|
ClientData = clientData
|
|
};
|
|
results.Add(result);
|
|
}
|
|
return results;
|
|
}
|
|
}
|
|
} |