Пример #1
0
        private static IRestRequest BuildRestRequestForMatchHistory(MatchHistoryRequest mhRequest)
        {
            var request = new RestRequest(RequestPaths.Dota2.Match.MatchHistory);
            if (mhRequest.Hero != Hero.None)
                request.AddQueryParameter("hero_id", ((int) mhRequest.Hero));
            if (mhRequest.GameMode != GameMode.None)
                request.AddQueryParameter("game_mode", ((int) mhRequest.GameMode));
            if (mhRequest.Skill != SkillLevel.Any)
                request.AddQueryParameter("skill", ((int) mhRequest.Skill));
            if (mhRequest.DateMin != DateTime.MinValue)
                request.AddQueryParameter("date_min", UnixTimeStamptFromDateTime(mhRequest.DateMin));
            if (mhRequest.DateMax != DateTime.MinValue)
                request.AddQueryParameter("date_max", UnixTimeStamptFromDateTime(mhRequest.DateMax));
            if (mhRequest.MinimumPlayers > 0)
                request.AddQueryParameter("min_players", mhRequest.MinimumPlayers);
            if (mhRequest.AccountId > 0)
                request.AddQueryParameter("account_id", mhRequest.AccountId);
            if (!string.IsNullOrEmpty(mhRequest.LeagueId))
                request.AddQueryParameter("league_id", mhRequest.LeagueId);
            if (mhRequest.StartAtMatchId > 0)
                request.AddQueryParameter("start_at_match_id", mhRequest.StartAtMatchId);
            if (mhRequest.NumberOfMatchesRequested > 0)
                request.AddQueryParameter("matches_requested", mhRequest.NumberOfMatchesRequested);
            if (mhRequest.TournamentGamesOnly)
                request.AddQueryParameter("tournament_games_only", mhRequest.TournamentGamesOnly);

            return request;
        }
Пример #2
0
 public IEnumerable<MatchHistory> GetMatchHistory(MatchHistoryRequest matchHistoryRequest)
 {
     var request = BuildRestRequestForMatchHistory(matchHistoryRequest);
     var response = Execute<MatchHistoryResponseWrapper>(request);
     return Mapper.Map<List<MatchHistory>>(response.Matches);
 }