public virtual PlayerQuickStats GetPlayerQuickStatsForUser(string applicationUserId, int gamingGroupId)
{
var playerIdForCurrentUser = GetPlayerIdForCurrentUser(applicationUserId, gamingGroupId);
var returnValue = new PlayerQuickStats();
if (playerIdForCurrentUser != 0)
{
returnValue.PlayerId = playerIdForCurrentUser;
returnValue.NemePointsSummary = GetNemePointsSummary(playerIdForCurrentUser);
var gameDefinitionTotals = GetGameDefinitionTotals(playerIdForCurrentUser);
var topLevelTotals = GetTopLevelTotals(gameDefinitionTotals);
returnValue.TotalGamesPlayed = topLevelTotals.TotalGames;
returnValue.TotalGamesWon = topLevelTotals.TotalGamesWon;
var lastPlayedGameForGamingGroupList = playedGameRetriever.GetRecentGames(1, gamingGroupId);
if (lastPlayedGameForGamingGroupList.Count() == 1)
{
var lastGame = lastPlayedGameForGamingGroupList[0];
returnValue.LastGamingGroupGame = new PlayedGameQuickStats
{
DatePlayed = lastGame.DatePlayed,
GameDefinitionName = lastGame.GameDefinition.Name,
GameDefinitionId = lastGame.GameDefinitionId,
PlayedGameId = lastGame.Id,
WinnerType = lastGame.WinnerType
};
if (lastGame.WinningPlayer != null)
{
returnValue.LastGamingGroupGame.WinningPlayerId = lastGame.WinningPlayer.Id;
returnValue.LastGamingGroupGame.WinningPlayerName = lastGame.WinningPlayer.Name;
}
var bggGameDefinition = lastGame.GameDefinition.BoardGameGeekGameDefinition;
if (bggGameDefinition != null)
{
returnValue.LastGamingGroupGame.BoardGameGeekUri = BoardGameGeekUriBuilder.BuildBoardGameGeekGameUri(bggGameDefinition.Id);
returnValue.LastGamingGroupGame.ThumbnailImageUrl = bggGameDefinition.Thumbnail;
}
}
}
return returnValue;
}