Exemple #1
0
        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>());
        }