SummonerStatistics GetSummonerStatistics(Summoner summoner, DbConnection connection) { Profiler profiler = new Profiler(false, "GetSummonerStatistics", GlobalHandler); profiler.Start("GetSummonerRatings"); List <SummonerRating> ratings = GetSummonerRatings(summoner, connection); profiler.Stop(); profiler.Start("GetSummonerRankedStatistics"); List <List <SummonerRankedStatistics> > rankedStatistics = new List <List <SummonerRankedStatistics> >(); for (int i = 0; i < StatisticsService.Seasons; i++) { rankedStatistics.Add(GetSummonerRankedStatistics(summoner, i, connection)); } profiler.Stop(); profiler.Start("twistedTreelineStatistics"); List <AggregatedChampionStatistics> twistedTreelineStatistics = LoadAggregatedChampionStatistics(summoner, MapType.TwistedTreeline, GameModeType.Normal, connection); profiler.Stop(); profiler.Start("summonersRiftStatistics"); List <AggregatedChampionStatistics> summonersRiftStatistics = LoadAggregatedChampionStatistics(summoner, MapType.SummonersRift, GameModeType.Normal, connection); profiler.Stop(); profiler.Start("dominionStatistics"); List <AggregatedChampionStatistics> dominionStatistics = LoadAggregatedChampionStatistics(summoner, MapType.Dominion, GameModeType.Normal, connection); profiler.Stop(); profiler.Start("SummonerStatistics"); SummonerStatistics statistics = new SummonerStatistics(ratings, rankedStatistics, twistedTreelineStatistics, summonersRiftStatistics, dominionStatistics); profiler.Stop(); return(statistics); }
SummonerStatistics GetSummonerStatistics(Summoner summoner, DbConnection connection) { List <SummonerRating> ratings = GetSummonerRatings(summoner, connection); List <List <SummonerRankedStatistics> > rankedStatistics = new List <List <SummonerRankedStatistics> >(); for (int i = 0; i <= ProgramConfiguration.RankedSeason; i++) { rankedStatistics.Add(GetSummonerRankedStatistics(summoner, i, connection)); } List <AggregatedChampionStatistics> twistedTreelineStatistics = LoadAggregatedChampionStatistics(summoner, MapType.TwistedTreeline, GameModeType.Normal, connection); List <AggregatedChampionStatistics> summonersRiftStatistics = LoadAggregatedChampionStatistics(summoner, MapType.SummonersRift, GameModeType.Normal, connection); List <AggregatedChampionStatistics> dominionStatistics = LoadAggregatedChampionStatistics(summoner, MapType.Dominion, GameModeType.Normal, connection); SummonerStatistics statistics = new SummonerStatistics(ratings, rankedStatistics, twistedTreelineStatistics, summonersRiftStatistics, dominionStatistics); return(statistics); }
Reply ApiSummonerStatistics(Request request) { Profiler profiler = new Profiler(false, "ApiSummonerStatistics", GlobalHandler); profiler.Start("PrivilegeCheck"); PrivilegeCheck(request); profiler.Stop(); profiler.Start("GetSummoner"); var arguments = request.Arguments; string regionAbbreviation = (string)request.Arguments[0]; int accountId = (int)request.Arguments[1]; Worker worker = GetWorkerByAbbreviation(regionAbbreviation); SummonerStatisticsResult output; Summoner summoner = StatisticsService.GetSummoner(worker.Region, accountId); profiler.Stop(); if (summoner != null) { using (var connection = GetConnection()) { profiler.Start("GetSummonerStatistics"); SummonerStatistics statistics = GetSummonerStatistics(summoner, connection); profiler.Stop(); profiler.Start("SummonerStatisticsResult"); output = new SummonerStatisticsResult(statistics); profiler.Stop(); } } else { output = new SummonerStatisticsResult(OperationResult.NotFound); } profiler.Start("GetJSONReply"); Reply reply = GetJSONReply(output); profiler.Stop(); return(reply); }
Reply ApiSummonerStatistics(Request request) { PrivilegeCheck(request); var arguments = request.Arguments; string regionAbbreviation = (string)request.Arguments[0]; int accountId = (int)request.Arguments[1]; Worker worker = GetWorkerByAbbreviation(regionAbbreviation); SummonerStatisticsResult output; Summoner summoner = StatisticsService.GetSummoner(worker.Region, accountId); if (summoner != null) { using (var connection = GetConnection()) { SummonerStatistics statistics = GetSummonerStatistics(summoner, connection); output = new SummonerStatisticsResult(statistics); } } else { output = new SummonerStatisticsResult(OperationResult.NotFound); } return(GetJSONReply(output)); }