private async Task HandleChatMessage(string from, string message) { var dbContext = getNewDBContext(); var sockets = manager.GetAllSockets(); var socketsInLobby = sockets .Where(x => { return(dbContext.Games.Where(g => g.PlayerIDs.Contains(manager.GetSocketID(x.Value))).FirstOrDefault <GameDataModel>() == null); }) .ToDictionary(x => x.Key, x => x.Value); dbContext.Dispose(); var ServResponse = new ServerResponse() { Type = "ChatMessage", Value = message, From = from }; foreach (var sock in socketsInLobby) { await WebSocketHelper.Send(JsonConvert.SerializeObject(ServResponse), sock.Value); } }