private void FillProgramEvents(JsonEventMain eventMain)
        {
            foreach (JsonEvent evnt in eventMain.data)
            {
                bool hasEvent = false;
                foreach (Event e in eventList)
                {
                    if (evnt.id == e.Id)
                    {
                        hasEvent = true;
                    }
                }

                long   id        = evnt.id;
                int    leagueId  = evnt.league_id;
                string homeTeam  = evnt.teams.home;
                string awayTeam  = evnt.teams.away;
                string startTime = evnt.start;

                if (!hasEvent && startTime.Contains("T"))
                {
                    if (this.today.Equals("true"))
                    {
                        DateTime currentDateTime = DateTime.UtcNow;
                        DateTime eventDateTime   = DateTime.ParseExact(startTime, "yyyy-MM-ddTHH:mm:ss", null);

                        if (currentDateTime.Day == eventDateTime.Day && currentDateTime.Month == eventDateTime.Month && currentDateTime.Hour < eventDateTime.Hour)
                        {
                            eventList.Add(new Event(id, leagueId, homeTeam, awayTeam, startTime));
                        }
                    }
                    else
                    {
                        eventList.Add(new Event(id, leagueId, homeTeam, awayTeam, startTime));
                    }
                }
            }

            foreach (Event evnt in eventList)
            {
                foreach (League league in leagueList)
                {
                    if (evnt.LeagueId == league.Id)
                    {
                        evnt.LeagueName = league.Name;

                        foreach (Tournament tournament in tournamentList)
                        {
                            if (tournament.Id == league.TournamentId)
                            {
                                evnt.TournamentName   = tournament.Name;
                                league.TournamentName = tournament.Name;
                                break;
                            }
                        }
                    }
                }
            }
        }
        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 void FillLiveEvents(JsonEventMain eventMain)
        {
            foreach (JsonEvent evnt in eventMain.data)
            {
                bool hasEvent = false;
                foreach (Event e in eventList)
                {
                    if (evnt.id == e.Id)
                    {
                        hasEvent = true;
                    }
                }

                long   id          = evnt.id;
                int    leagueId    = evnt.league_id;
                string homeTeam    = evnt.teams.home;
                string awayTeam    = evnt.teams.away;
                int    homeGoals   = evnt.stats.runtime.goals.home;
                int    awayGoals   = evnt.stats.runtime.goals.away;
                int    homeCorners = evnt.stats.runtime.corners.home;
                int    awayCorners = evnt.stats.runtime.corners.away;
                string playTime    = evnt.stats.runtime.play.display;
                string startTime   = evnt.start;

                if (!hasEvent && !playTime.Equals("n/a") && startTime.Contains("T") && homeGoals > -1 && awayGoals > -1)
                {
                    eventList.Add(new Event(id, leagueId, homeTeam, awayTeam, homeGoals, awayGoals, homeCorners, awayCorners, playTime, startTime));
                }
            }

            foreach (Event evnt in eventList)
            {
                foreach (League league in leagueList)
                {
                    if (evnt.LeagueId == league.Id)
                    {
                        evnt.LeagueName = league.Name;

                        foreach (Tournament tournament in tournamentList)
                        {
                            if (tournament.Id == league.TournamentId)
                            {
                                evnt.TournamentName   = tournament.Name;
                                league.TournamentName = tournament.Name;
                                break;
                            }
                        }
                    }
                }
            }
        }