Esempio n. 1
0
        async Task <Fixture> GetFixtureData(string fixtureID, bool requestDetailInfo, CancellationToken ct)
        {
            try{
                var fixtureResult = await _webClient.GetAsync(fixtureID);

                if (fixtureResult.StatusCode == HttpStatusCode.OK)
                {
                    var responseFixtureText = await fixtureResult.Content.ReadAsStringAsync();

                    SingleFixture fixture = JsonConvert.DeserializeObject <SingleFixture>(responseFixtureText);

                    if (requestDetailInfo)
                    {
                        var resulthomeTeam = await _webClient.GetAsync(fixture.fixture._links.homeTeam.href, ct);

                        if (resulthomeTeam.StatusCode == HttpStatusCode.OK)
                        {
                            var respondhomeTeam = await resulthomeTeam.Content.ReadAsStringAsync();

                            var team = JsonConvert.DeserializeObject <ScoresApp.Service.Responses.Team.Team> (respondhomeTeam);

                            var resulthomeTeamPlayers = await _webClient.GetAsync(team._links.players.href, ct);

                            if (resulthomeTeamPlayers.StatusCode == HttpStatusCode.OK)
                            {
                                var respondhomeTeamPlayers = await resulthomeTeamPlayers.Content.ReadAsStringAsync();

                                var players = JsonConvert.DeserializeObject <ScoresApp.Service.Responses.Players> (respondhomeTeamPlayers);
                                fixture.homePlayers = players.players.OrderBy(i => i.jerseyNumber).ToList();
                            }
                        }

                        var resultawayTeam = await _webClient.GetAsync(fixture.fixture._links.awayTeam.href, ct);

                        if (resultawayTeam.StatusCode == HttpStatusCode.OK)
                        {
                            var respondawayTeam = await resultawayTeam.Content.ReadAsStringAsync();

                            var team = JsonConvert.DeserializeObject <ScoresApp.Service.Responses.Team.Team> (respondawayTeam);

                            var resultawayTeamPlayers = await _webClient.GetAsync(team._links.players.href, ct);

                            if (resultawayTeamPlayers.StatusCode == HttpStatusCode.OK)
                            {
                                var respondawayTeamPlayers = await resultawayTeamPlayers.Content.ReadAsStringAsync();

                                var players = JsonConvert.DeserializeObject <ScoresApp.Service.Responses.Players> (respondawayTeamPlayers);
                                fixture.awayPlayers = players.players.OrderBy(i => i.jerseyNumber).ToList();
                            }
                        }
                    }

                    return(fixture.ToAppFixture());
                }
            }catch (Exception ex) {
                Xamarin.Insights.Report(ex);
                return(default(Fixture));
            }
            return(default(Fixture));
        }
Esempio n. 2
0
        /// <summary>
        /// Get single fixture
        /// </summary>
        /// <param name="fixtureid"></param>
        /// <param name="head2head"></param>
        /// <returns></returns>
        public async Task <SingleFixture> GetFixtureAsync(int fixtureid, int head2head = 10)
        {
            var result = new SingleFixture();
            var j      = await SendRequest("/fixtures/" + fixtureid + "?head2head=" + head2head);

            if (!string.IsNullOrEmpty(j))
            {
                result = JsonConvert.DeserializeObject <SingleFixture>(j, new IsoDateTimeConverter {
                    DateTimeFormat = "yyyy-MM-dd"
                });
            }
            return(result);
        }