/// <summary> /// GETs a List of LeagueEntry objects from Riot's API and then deserializes it into a List of LeagueEntryModel objects. /// </summary> /// <returns>Returns a List of LeagueEntryModel objects.</returns> public async Task <List <LeagueEntryModel> > GetLeagueEntryModelsAsync() { var uri = GetUriFromEncryptedSummonerId(); var json = await _httpClient.GetStringAsync(uri).ConfigureAwait(false); var contracts = JsonConvert.DeserializeObject <List <LeagueEntryDto> >(json); var entryModels = new List <LeagueEntryModel>(); foreach (var contract in contracts) { entryModels.Add(contract.ToLeagueEntryModel()); } return(entryModels); #region Local Methods Uri GetUriFromEncryptedSummonerId() { // If API Path changes, modify string below. return(_uriFactory .AddSegments($"/lol/league/v4/entries/by-summoner/{_encryptedSummonerId}") .Create()); } #endregion }
private async Task <MatchTimelineDto> GetMatchTimelineDtoAsync() { Uri uri = GetUriFromMatchId(); var json = await _httpClient.GetStringAsync(uri).ConfigureAwait(false); return(JsonConvert.DeserializeObject <MatchTimelineDto>(json)); Uri GetUriFromMatchId() { return(_uriFactory .AddSegments($"/lol/match/v4/timelines/by-match/{_matchId}") .Create()); } }
/// <summary> /// GETs a Match object from Riot's API and then deserializes it into a MatchModel object. /// </summary> /// <param name="matchId">A long that references the particular match id.</param> /// <returns>Returns a Task for a MatchModel object.</returns> public async Task <MatchModel> GetMatchModelAsync(long matchId) { var uri = GetUriFromMatchId(matchId); var json = await _httpClient.GetStringAsync(uri).ConfigureAwait(false); var contract = JsonConvert.DeserializeObject <MatchDto>(json); return(contract.ToMatchModel()); Uri GetUriFromMatchId(long matchId) { // If API Path changes, modify string below. return(_uriFactory .AddSegments($"/lol/match/v4/matches/{matchId}") .Create()); } }
/// <summary> /// GETs a Summoner object from Riot's API and deserializes it into a SummonerModel object. /// </summary> /// <returns>Returns a SummonerModel object.</returns> public async Task <SummonerModel> GetSummonerModelAsync() { var uri = GetUriFromSummonerName(); var json = await _httpClient.GetStringAsync(uri).ConfigureAwait(false); var contract = JsonConvert.DeserializeObject <SummonerDto>(json); return(contract.ToSummonerModel()); #region Local Methods Uri GetUriFromSummonerName() { // If API Path changes, modify string below. return(_uriFactory .AddSegments($"/lol/summoner/v4/summoners/by-name/{_name}") .Create()); } #endregion } }