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 <JsonLeagueMain> GetLeaguesAsync(JsonTournamentMain tournamentsResult) { if (tournamentsResult == null || tournamentsResult.data.Count <= 0) { return(null); } List <int> tournamentIds = new List <int>(tournamentsResult.data.Count); foreach (JsonTournament tournament in tournamentsResult.data) { tournamentList.Add(new Tournament(tournament.id, tournament.name, tournament.inplay_leagues_cnt)); tournamentIds.Add(tournament.id); } string ids = string.Join(",", tournamentIds); DownloadTask downloadTask; try { downloadTask = new DownloadTask("http://www.oddstorm.com/feeds_api/", "POST"); downloadTask.SetPostParams("{\"prematch\": " + this.prematch + ",\"inplay\": " + this.inplay + ", \"scope\": \"leagues\", \"tournament_ids\": [" + ids + "] }"); } catch { return(null); } string result = String.Empty; result = await Execute(downloadTask, result); if (result == String.Empty) { return(null); } return(JsonConvert.DeserializeObject <JsonLeagueMain>(result)); }