async Task <ObservableCollection <FixtureViewModel> > GetLeagueMatches(string leagueId, bool requestDetailInfo, CancellationToken ct) { try{ var resultFixtures = await _webClient.GetAsync(ServerStrings.BaseUrl + ServerStrings.FixturesPath + "/?league=" + leagueId, ct); if (resultFixtures.StatusCode == HttpStatusCode.OK) { var responseFixturesText = await resultFixtures.Content.ReadAsStringAsync(); Fixtures fixtures = JsonConvert.DeserializeObject <Fixtures>(responseFixturesText); if (requestDetailInfo) { foreach (var match in fixtures.fixtures) { var resulthomeTeam = await _webClient.GetAsync(match._links.homeTeam.href, ct); if (resulthomeTeam.StatusCode == HttpStatusCode.OK) { var responhomeTeamText = await resulthomeTeam.Content.ReadAsStringAsync(); var team = JsonConvert.DeserializeObject <ScoresApp.Service.Responses.Team.Team> (responhomeTeamText); match.homeTeamImage = team.crestUrl; match.homeShortTeamName = team.shortName; } var resultawayTeam = await _webClient.GetAsync(match._links.awayTeam.href, ct); if (resultawayTeam.StatusCode == HttpStatusCode.OK) { var responawayTeamText = await resultawayTeam.Content.ReadAsStringAsync(); var team = JsonConvert.DeserializeObject <ScoresApp.Service.Responses.Team.Team> (responawayTeamText); match.awayTeamImage = team.crestUrl; match.awayShortTeamName = team.shortName; } } } return(fixtures.ToAppFixtures()); } }catch (Exception ex) { Xamarin.Insights.Report(ex); return(new ObservableCollection <FixtureViewModel>()); } return(new ObservableCollection <FixtureViewModel>()); }