internal async Task <List <Event> > GetDataAsync() { JsonTournamentMain tournamentMain = await GetTournamentsAsync(); JsonLeagueMain leagueMain = await GetLeaguesAsync(tournamentMain); JsonEventMain eventMain = new JsonEventMain(); if (leagueMain.data.Count > 100) { List <JsonLeague> jsonLeaguesMain = new List <JsonLeague>(); JsonEventMain currentEvents = new JsonEventMain(); JsonLeagueMain currentJsonLeagueMain = new JsonLeagueMain(); jsonLeaguesMain = leagueMain.data; while (jsonLeaguesMain.Count > 100) { currentJsonLeagueMain.data = jsonLeaguesMain.GetRange(0, 100); currentEvents = await GetEventsAsync(currentJsonLeagueMain); eventMain.data = currentEvents.data.ToList(); jsonLeaguesMain.RemoveRange(0, 100); } currentJsonLeagueMain.data.Clear(); currentJsonLeagueMain.data = jsonLeaguesMain.ToList(); currentEvents = await GetEventsAsync(currentJsonLeagueMain); eventMain.data.AddRange(currentEvents.data); } else { eventMain = await GetEventsAsync(leagueMain); } if (tournamentMain == null || leagueMain == null || eventMain == null) { return(null); } if (this.inplay.Equals("true")) { FillLiveEvents(eventMain); } else { FillProgramEvents(eventMain); } return(eventList); }
private async Task <JsonEventMain> GetEventsAsync(JsonLeagueMain leagues) { if (leagues == null || leagues.data.Count <= 0) { return(null); } List <int> leaguesIds = new List <int>(); foreach (JsonLeague league in leagues.data) { leagueList.Add(new League(league.id, league.name, league.tournament_id)); leaguesIds.Add(league.id); } string ids = string.Join(",", leaguesIds); DownloadTask downloadTask; try { downloadTask = new DownloadTask("http://www.oddstorm.com/feeds_api/", "POST"); downloadTask.SetPostParams("{\"prematch\": " + this.prematch + ",\"inplay\": " + this.inplay + ", \"scope\": \"matches\", \"league_ids\": [" + ids + "] }"); } catch { return(null); } string result = String.Empty; result = await Execute(downloadTask, result); if (result == String.Empty) { return(null); } //var result = downloadTask.Response; return(JsonConvert.DeserializeObject <JsonEventMain>(result)); }