Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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));
        }