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