public BoardGameGeekGameSummary GetBoardGameGeekGameSummary(int boardGameGeekGameDefinitionId, ApplicationUser currentUser, int numberOfRecentlyPlayedGamesToRetrieve = DEFAULT_NUMBER_OF_GAMES)
{
var topChampions = _universalTopChampionsRetreiver.GetFromSource(boardGameGeekGameDefinitionId);
var boardGameGeekInfo = _boardGameGeekGameDefinitionInfoRetriever.GetResults(boardGameGeekGameDefinitionId);
var universalStats = _universalStatsRetriever.GetResults(boardGameGeekGameDefinitionId);
var gamingGroupGameDefinitionSummary = GetGamingGroupGameDefinitionSummary(boardGameGeekGameDefinitionId, currentUser.CurrentGamingGroupId, numberOfRecentlyPlayedGamesToRetrieve);
var filter = new RecentlyPlayedGamesFilter
{
BoardGameGeekGameDefinitionId = boardGameGeekGameDefinitionId,
NumberOfGamesToRetrieve = numberOfRecentlyPlayedGamesToRetrieve
};
var recentlyPlayedPublicGames = _recentPublicGamesRetriever.GetResults(filter);
return new BoardGameGeekGameSummary
{
BoardGameGeekInfo = boardGameGeekInfo,
UniversalGameStats = universalStats,
GamingGroupGameDefinitionSummary = gamingGroupGameDefinitionSummary,
RecentlyPlayedGames = recentlyPlayedPublicGames,
TopChampions = topChampions
};
}