public async Task <ApiResponse <ClanTracking> > GetTrackingResponseAsync(string clanTag, ClanTrackingFilter clanTrackingFilter = null)
        {
            Ensure.ArgumentNotNullOrEmptyString(clanTag, nameof(clanTag));

            var apiResponse = await _restApiClient.GetApiResponseAsync <ClanTracking>(UrlPathBuilder.GetClanTrackingUrl(clanTag), clanTrackingFilter?.ToQueryParams());

            return(apiResponse);
        }
        public async Task <ApiResponse <List <ClanSummary> > > GetTopWarClanWarsResponseAsync(Locations location = Locations.None, ClanSummaryFilter clanSummaryFilter = null)
        {
            var apiResponse = await _restApiClient.GetApiResponseAsync <List <ClanSummary> >(UrlPathBuilder.GetTopWarClanWarsUrl(location), clanSummaryFilter?.ToQueryParams());

            return(apiResponse);
        }
        public async Task <ApiResponse <List <Clan> > > GetClansResponseAsync(string[] clanTags, ClanFilter clanFilter = null)
        {
            Ensure.ArgumentNotNullOrEmptyEnumerable(clanTags, nameof(clanTags));

            var apiResponse = await _restApiClient.GetApiResponseAsync <List <Clan> >(UrlPathBuilder.GetClanUrl(clanTags), clanFilter?.ToQueryParams());

            return(apiResponse);
        }
        public async Task <ApiResponse <ClanMemberList> > GetMembersResponseAsync(string clanTag, ClanMemberFilter clanMemberFilter = null)
        {
            Ensure.ArgumentNotNullOrEmptyString(clanTag, nameof(clanTag));

            if (clanMemberFilter?.After != null && clanMemberFilter.Before != null)
            {
                throw new InvalidOperationException("Only after or before can be specified for a request, not both.");
            }

            var apiResponse = await _restApiClient.GetApiResponseAsync <ClanMemberList>(UrlPathBuilder.GetMemberUrl(clanTag), clanMemberFilter?.ToQueryParams());

            return(apiResponse);
        }
Beispiel #5
0
        public async Task <ApiResponse <Embed> > GetPlayerEmbedResponseAsync(int podcastId, int episodeId)
        {
            Ensure.GreaterThanZero(podcastId, nameof(podcastId));
            Ensure.GreaterThanZero(episodeId, nameof(episodeId));

            ApiResponse <Embed> apiResponse = await _restApiClient.GetApiResponseAsync <Embed>(UrlPathBuilder.GetPlayerEmbedUrl(podcastId, episodeId));

            return(apiResponse);
        }
        public async Task <ApiResponse <PlayerDetail> > GetPlayerResponseAsync(string playerTag)
        {
            Ensure.ArgumentNotNullOrEmptyString(playerTag, nameof(playerTag));

            var apiResponse = await _restApiClient.GetApiResponseAsync <PlayerDetail>(UrlPathBuilder.GetPlayerUrl(playerTag));

            return(apiResponse);
        }
        public async Task <ApiResponse <List <PlayerChest> > > GetChestsResponseAsync(string[] playerTags, PlayerChestFilter playerChestFilter = null)
        {
            Ensure.ArgumentNotNullOrEmptyEnumerable(playerTags, nameof(playerTags));

            var apiResponse = await _restApiClient.GetApiResponseAsync <List <PlayerChest> >(UrlPathBuilder.GetPlayerChestsUrl(playerTags), playerChestFilter?.ToQueryParams());

            return(apiResponse);
        }
Beispiel #8
0
        public async Task <IApiResponse <ClanCurrentWar> > GetCurrentWarResponseAsync(string clanTag)
        {
            Ensure.ArgumentNotNullOrEmptyString(clanTag, nameof(clanTag));

            IApiResponse <ClanCurrentWar> apiResponse = await RestApiClient.GetApiResponseAsync <ClanCurrentWar>(UrlPathBuilder.GetCurrentWarUrl(clanTag));

            return(apiResponse);
        }
Beispiel #9
0
        private static List <RunePath> GetRunePaths()
        {
            var pathBuilder = new UrlPathBuilder();

            using (var client = new WebClient())
            {
                try
                {
                    var runesJson = client.DownloadString(pathBuilder.GetRunesReforgedUrl());
                    var runePaths = JsonConvert.DeserializeObject <List <RunePath> >(runesJson);

                    foreach (var path in runePaths)
                    {
                        path.Icon = pathBuilder.GetRuneIcon(path.Icon);
                        foreach (var slot in path.Slots)
                        {
                            foreach (var rune in slot.Runes)
                            {
                                rune.Icon = pathBuilder.GetRuneIcon(rune.Icon);
                            }
                        }
                    }

                    //Deliberately adding a custom runepath for rune fragments, since they are not provided by DDragon
                    var runepath = new RunePath()
                    {
                        Name = "Rune Stats"
                    };
                    var slot1 = new Slot();
                    slot1.Runes.Add(new Rune {
                        Id = 5008, Name = "Offense", LongDesc = "Adaptive Force +9", ShortDesc = "Adaptive Force +9", Icon = "../DataAccess/RiotGamesApi/Images/Misc/fragment_dmg.png"
                    });                                                                                                                                                                                           // damage fragment
                    slot1.Runes.Add(new Rune {
                        Id = 5005, Name = "Offense", LongDesc = "+10% Attack Speed", ShortDesc = "+10% Attack Speed", Icon = "../DataAccess/RiotGamesApi/Images/Misc/fragment_aspeed.png"
                    });                                                                                                                                                                                              // attack speed fragment
                    slot1.Runes.Add(new Rune {
                        Id = 5007, Name = "Offense", LongDesc = "+1-10% CDR (based on level)", ShortDesc = "+1-10% CDR (based on level)", Icon = "../DataAccess/RiotGamesApi/Images/Misc/fragment_cdr.png"
                    });                                                                                                                                                                                                               // cdr fragment
                    var slot2 = new Slot();
                    slot2.Runes.Add(new Rune {
                        Id = 5008, Name = "Flex", LongDesc = "Adaptive Force +9", ShortDesc = "Adaptive Force +9", Icon = "../DataAccess/RiotGamesApi/Images/Misc/fragment_dmg.png"
                    });                                                                                                                                                                                        // damage fragment
                    slot2.Runes.Add(new Rune {
                        Id = 5002, Name = "Flex", LongDesc = "+6 Armor", ShortDesc = "+6 Armor", Icon = "../DataAccess/RiotGamesApi/Images/Misc/fragment_armor.png"
                    });                                                                                                                                                                        // armor fragment
                    slot2.Runes.Add(new Rune {
                        Id = 5003, Name = "Flex", LongDesc = "+8 Magic Resist", ShortDesc = "+8 Magic Resist", Icon = "../DataAccess/RiotGamesApi/Images/Misc/fragment_mr.png"
                    });                                                                                                                                                                                   // magic resist fragment
                    var slot3 = new Slot();
                    slot3.Runes.Add(new Rune {
                        Id = 5001, Name = "Defense", LongDesc = "+15-90 Health (Based on level)", ShortDesc = "+15-90 Health (Based on level)", Icon = "../DataAccess/RiotGamesApi/Images/Misc/fragment_hp.png"
                    });                                                                                                                                                                                                                    // hp fragment
                    slot3.Runes.Add(new Rune {
                        Id = 5002, Name = "Defense", LongDesc = "+6 Armor", ShortDesc = "+6 Armor", Icon = "../DataAccess/RiotGamesApi/Images/Misc/fragment_armor.png"
                    });                                                                                                                                                                           // armor fragment
                    slot3.Runes.Add(new Rune {
                        Id = 5003, Name = "Defense", LongDesc = "+8 Magic Resist", ShortDesc = "+8 Magic Resist", Icon = "../DataAccess/RiotGamesApi/Images/Misc/fragment_mr.png"
                    });                                                                                                                                                                                      // magic resist fragment

                    runepath.Slots.Add(slot1);
                    runepath.Slots.Add(slot2);
                    runepath.Slots.Add(slot3);

                    runePaths.Add(runepath);

                    return(runePaths);
                }
                catch (Exception) { return(new List <RunePath>()); }
            }
        }
        public async Task <ApiResponse <Podcast> > GetPodcastByIdResponseAsync(int podcastId)
        {
            Ensure.GreaterThanZero(podcastId, nameof(podcastId));

            ApiResponse <Podcast> apiResponse = await _restApiClient.GetApiResponseAsync <Podcast>(UrlPathBuilder.GetPodcastByIdUrl(podcastId));

            return(apiResponse);
        }
Beispiel #11
0
        public async Task <IApiResponse <PagedClanWarLogs> > GetWarLogResponseAsync(string clanTag, ClanWarLogFilter clanWarLogFilter = null)
        {
            Ensure.ArgumentNotNullOrEmptyString(clanTag, nameof(clanTag));

            if (clanWarLogFilter?.After != null && clanWarLogFilter.Before != null)
            {
                throw new InvalidOperationException("Only after or before can be specified for a request, not both.");
            }

            IApiResponse <PagedClanWarLogs> apiResponse = await RestApiClient.GetApiResponseAsync <PagedClanWarLogs>(UrlPathBuilder.GetWarlogUrl(clanTag),
                                                                                                                     clanWarLogFilter?.ToQueryParams());

            return(apiResponse);
        }
Beispiel #12
0
        public async Task <IApiResponse <Location> > GetLocationResponseAsync(LocationsEnum locationEnum)
        {
            IApiResponse <Location> apiResponse = await RestApiClient.GetApiResponseAsync <Location>(UrlPathBuilder.GetLocationUrl((int)locationEnum));

            return(apiResponse);
        }
        public async Task <IApiResponse <PlayerUpcomingChests> > GetUpcomingChestsResponseAsync(string playerTag)
        {
            Ensure.ArgumentNotNullOrEmptyString(playerTag, nameof(playerTag));

            IApiResponse <PlayerUpcomingChests> apiResponse = await RestApiClient.GetApiResponseAsync <PlayerUpcomingChests>(UrlPathBuilder.GetUpcomingChestsUrl(playerTag));

            return(apiResponse);
        }
        public async Task <IApiResponse <List <PlayerBattleLog> > > GetBattlesResponseAsync(string playerTag)
        {
            Ensure.ArgumentNotNullOrEmptyString(playerTag, nameof(playerTag));

            IApiResponse <List <PlayerBattleLog> > apiResponse = await RestApiClient.GetApiResponseAsync <List <PlayerBattleLog> >(UrlPathBuilder.GetBattleLogUrl(playerTag));

            return(apiResponse);
        }
        public async Task <ApiResponse <Dictionary <string, ClanHistory> > > GetClanHistoryWeeklyResponseAsync(string clanTag, ClanHistoryFilter clanHistoryFilter = null)
        {
            Ensure.ArgumentNotNullOrEmptyString(clanTag, nameof(clanTag));

            var apiResponse = await _restApiClient.GetApiResponseAsync <Dictionary <string, ClanHistory> >(UrlPathBuilder.GetClanHistoryWeeklyUrl(clanTag), clanHistoryFilter?.ToQueryParams());

            return(apiResponse);
        }
        public async Task <ApiResponse <List <Battle> > > GetBattlesResponseAsync(string playerTag, PlayerBattleFilter playerBattleFilter = null)
        {
            Ensure.ArgumentNotNullOrEmptyString(playerTag, nameof(playerTag));

            var apiResponse = await _restApiClient.GetApiResponseAsync <List <Battle> >(UrlPathBuilder.GetPlayerBattlesUrl(playerTag), playerBattleFilter?.ToQueryParams());

            return(apiResponse);
        }
        public async Task <ApiResponse <List <Tournament> > > GetTournamentsResponseAsync(string[] tournamentTags, TournamentSearchFilter tournamentSearchFilter = null)
        {
            Ensure.ArgumentNotNullOrEmptyEnumerable(tournamentTags, nameof(tournamentTags));

            var apiResponse = await _restApiClient.GetApiResponseAsync <List <Tournament> >(UrlPathBuilder.GetTournamentUrl(tournamentTags), tournamentSearchFilter?.ToQueryParams());

            return(apiResponse);
        }
        public async Task <IApiResponse <Player> > GetPlayerResponseAsync(string playerTag, PlayerFilter playerFilter = null)
        {
            Ensure.ArgumentNotNullOrEmptyString(playerTag, nameof(playerTag));

            IApiResponse <Player> apiResponse = await _restApiClient.GetApiResponseAsync <Player>(UrlPathBuilder.GetPlayerUrl(playerTag),
                                                                                                  playerFilter?.ToQueryParams(), null, new CamelCaseNamingStrategy());

            return(apiResponse);
        }