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)); }
/// <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); }