public async Task <List <CandidateDto> > GetActiveCandidates() { List <CandidateDto> candidates = new List <CandidateDto>(); _logger.LogInformation($"Number of active requestor connections: {_requestorConnections.Count()}"); foreach (var activeRequestorName in _requestorConnections.Keys()) { GeoCoordinatesEntity entity; try { entity = _dbContext.GeoCoordinates.Single(x => x.Username == activeRequestorName._value); candidates.Add(new CandidateDto(activeRequestorName._value, new GeoCoordinatesDto() { latitude = entity.latitude, longitude = entity.longitude })); } catch (System.InvalidOperationException) { _logger.LogWarning($"Failed to find requestor '{activeRequestorName._value}' in active connections."); } } _logger.LogInformation($"Sending request back with {candidates.Count} CandidateDto's"); return(candidates); }
public async Task GetListOfCandidates() { // Let's just return all requestor connections right now to the donator client. var requestorNames = _requestorConnections.Keys(); foreach (var requestorName in requestorNames) { _logger.LogInformation($"Sending donator candidate '{requestorName}'s information."); await Clients.Clients(Context.ConnectionId).SendAsync("ListCandidates", requestorName); } _logger.LogInformation($"Sent donator all connected requestors."); }