public async Task <LeagueOfSummoner> GetLeagueOfSummonerInformation(string id, string region = "eun1")
        {
            try
            {
                var    queueList = new List <SummonerLeagueInfo>();
                JArray response  = JArray.Parse(await _apiClient.GetJsonFromUrl(
                                                    $"https://{region}.api.riotgames.com/lol/league/v4/positions/by-summoner/{id}?api_key={AppSettings.AuthorizationApiKey}"));

                if (response.Count < 1)
                {
                    return(new LeagueOfSummoner
                    {
                        IsSuccess = false,
                        Message = _errorHandler.Error_Handler("404")
                    });
                }

                foreach (var queue in response)
                {
                    queueList.Add(queue.ToObject <SummonerLeagueInfo>());
                }

                return(new LeagueOfSummoner
                {
                    IsSuccess = true,
                    SummonerLeagueInfoList = queueList
                });
            }
            catch (Exception ex)
            {
                return(new LeagueOfSummoner {
                    IsSuccess = false, Message = _errorHandler.Error_Handler(ex.Message)
                });
            }
        }
예제 #2
0
        public async Task <Summoner> GetInformationAboutSummoner(string nickname, string region = "eun1")
        {
            try
            {
                JObject response = JObject.Parse(await _apiClient.GetJsonFromUrl(
                                                     $"https://{region}.api.riotgames.com/lol/summoner/v4/summoners/by-name/{nickname}?api_key={AppSettings.AuthorizationApiKey}"));

                return(response == null ? new Summoner {
                    IsSuccess = false
                } :
                       new Summoner
                {
                    IsSuccess = true,
                    Name = response.GetValue("name").ToString(),
                    Puuid = response.GetValue("puuid").ToString(),
                    Id = response.GetValue("id").ToString(),
                    AccountId = response.GetValue("accountId").ToString()
                });
            }
            catch (Exception ex)
            {
                return(new Summoner {
                    IsSuccess = false, Message = _errorHandler.Error_Handler(ex.Message)
                });
            }
        }
예제 #3
0
        public async Task <GamesResponse> GetLastTenGames(string accountId, string regionCode)
        {
            try
            {
                var    matchesList = new List <Game>();
                string response    = await _apiClient.GetJsonFromUrl(
                    $"https://{regionCode}.api.riotgames.com/lol/match/v4/matchlists/by-account/{accountId}?api_key={AppSettings.AuthorizationApiKey}");

                if (string.IsNullOrEmpty(response))
                {
                    return(new GamesResponse
                    {
                        IsSuccess = false
                    });
                }

                JObject parsedResponse = JObject.Parse(response);

                bool getMatches = parsedResponse.TryGetValue("matches", out JToken matches);

                if (!getMatches)
                {
                    return(new GamesResponse
                    {
                        IsSuccess = false
                    });
                }

                JArray matchArray = JArray.FromObject(matches);
                foreach (var match in matchArray)
                {
                    matchesList.Add(match.ToObject <Game>());
                }

                return(new GamesResponse
                {
                    IsSuccess = true,
                    Games = matchesList
                });
            }
            catch (Exception ex)
            {
                return(new GamesResponse
                {
                    IsSuccess = false,
                    Message = _errorHandler.Error_Handler(ex.Message)
                });
            }
        }