public IEnumerable <WantToPlayGame> GetWantToPlayGames(string username) { var ids = _geekConnector.GetWantToPlayGameIds(username).ToList(); var games = _boardGameRepository.GetBoardGames(ids.Select(i => i.Id)).ToList(); var missingIds = ids.Where(id => !games.Select(g => g.Id).Contains(id.Id)).ToList(); games.AddRange(missingIds.Select(CreateDummyGame)); _boardGameRepository.StoreUnknownIds(missingIds.Select(id => id.Id)); return(ids.Select(id => new WantToPlayGame { BoardGame = games.First(g => g.Id == id.Id), Owner = username, LastModified = id.LastModified })); }