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); }
private void AddUserToConnectionMap(UsernameVo username) { // Check if user is already existent in connection map if (requestorConnections.ContainsKey(username)) { requestorConnections.AddValueToSet(username, Context.ConnectionId); } else { requestorConnections.Add(username, Context.ConnectionId); } _logger.LogInformation($"Number of users in donatorConnections: {requestorConnections.Count()}"); }