public ChampionData GetChampionData(int gameDefinitionId)
{
DbRawSqlQuery<ChampionStatistics> championStatisticsData = dataContext.MakeRawSqlQuery<ChampionStatistics>(CHAMPION_SQL,
new SqlParameter("GameDefinitionId", gameDefinitionId));
List<ChampionStatistics> championStatistics = championStatisticsData.ToList();
if (ThereIsATieForChampion(championStatistics))
{
return new NullChampionData();
}
ChampionData championData = (from x in championStatistics
select new ChampionData
{
PlayerId = x.PlayerId,
NumberOfGames = x.NumberOfGames,
NumberOfWins = x.NumberOfWins,
WinPercentage = 100 * x.NumberOfWins / x.NumberOfGames,
GameDefinitionId = gameDefinitionId
}).FirstOrDefault();
if (championData == null || championData.NumberOfWins == 0)
{
return new NullChampionData();
}
return championData;
}