public TeamRecord GetLeader() { using (var dbContext = new StandingsDbContext()) { var query = from r in dbContext.TeamRecord where r.Points == (dbContext.TeamRecord.Max(x => x.Points)) select r; return(query.FirstOrDefault()); } }
public TeamRecord GetTeamRecord(string name) { using (var dbContext = new StandingsDbContext()) { var query = from r in dbContext.TeamRecord where r.Name == name select r; return(query.FirstOrDefault()); } }
public PremierLeagueStandingService(IConfiguration configuration) { if (configuration != null) { this.SaveTheData = configuration.GetValue <bool>("soccerService:saveData", false); } this.TheDbContext = new StandingsDbContext(); this.Matches = ReadMatches(); if (this.SaveTheData) { this.SaveMatchesToDatabase(); } }
public void ClearStandingsTable() { try { using (var dbContext = new StandingsDbContext()) { var oldStandings = this.LoadStandings(); dbContext.RemoveRange(oldStandings); dbContext.SaveChanges(); } } catch (Exception exc) { Console.WriteLine(exc.Message); } }
private Standings GetStandings2(int id, SortOrder order = SortOrder.Unspecified) { using (var dbContext = new StandingsDbContext()) { var query = dbContext.Standings .Include(st => st.TeamRecords) .Where(st => st.Id == id) .Select(st => new { Parent = st, Children = st.TeamRecords.OrderBy(tr => tr.Points) //(order == SortOrder.Ascending) ? st.TeamRecords.OrderBy(tr => tr.Points) : (order == SortOrder.Descending) ? st.TeamRecords.OrderByDescending(tr => tr.Points) : st.TeamRecords }).ToList(); var result = query.Select(st => st.Parent).FirstOrDefault(); return(result); } }
private void SaveMatchesToDatabase() { try { using (var dbContext = new StandingsDbContext()) { var matchResults = this.LoadMatchResults(); dbContext.RemoveRange(matchResults); dbContext.MatchResults.Add(this.Matches); dbContext.SaveChanges(); } } catch (Exception exc) { Console.WriteLine(exc.Message); } }
public Standings LoadStandings() { try { using (var dbContext = new StandingsDbContext()) { dbContext.Database.EnsureCreated(); var standings = dbContext.Standings .Include(x => x.TeamRecords) .Select(x => x) .ToList(); return(standings.FirstOrDefault()); } } catch (Exception exc) { throw exc; } }
// For GraphQL public Standings GetStandings(int id, SortOrder order = SortOrder.Unspecified) { //return this.GetStandings2(id, order); using (var dbContext = new StandingsDbContext()) { var query = dbContext.Standings .Include(st => st.TeamRecords) .Where(st => st.Id == id) .Select(st => st) ; var result = query.FirstOrDefault(); if (result != null && order != SortOrder.Unspecified) { result.TeamRecords = (order == SortOrder.Ascending) ? result.TeamRecords.OrderBy(x => x.Points).ToList() : result.TeamRecords.OrderByDescending(x => x.Points).ToList(); } return(result); } }
public void SaveStandingsToDatabase(Standings standings) { if (!this.SaveTheData) { return; } try { using (var dbContext = new StandingsDbContext()) { var oldStandings = this.LoadStandings(); dbContext.RemoveRange(oldStandings); dbContext.Standings.Add(standings); dbContext.SaveChanges(); } } catch (Exception exc) { Console.WriteLine(exc.Message); } }