public async Task <IActionResult> TeamStandings(int seasonId) { var season = await _seasons.GetSeasonById(seasonId); var rounds = await _races.GetOrderedRaces(seasonId, true); var tracks = rounds.Select(res => res.Track); var viewModel = new HomeTeamStandingsModel { // Assigns the lowest position that scores points LastPointPos = season.PointsPerPosition.Keys.Max(), SeasonTeams = await _seasonTeams.GetRankedSeasonTeams(seasonId, true), Tracks = tracks, Rounds = rounds.Select(r => r.RaceId), DriverResults = await Context.DriverResults .Where(dr => dr.Race.SeasonId == seasonId) .ToListAsync(), SeasonId = season.SeasonId, Year = season.SeasonNumber, Points = JsonConvert.SerializeObject(season.PointsPerPosition), PolePoints = season.PolePoints }; return(View("TeamStandings", viewModel)); }
public async Task <IActionResult> TeamStandings() { // Selects seasons from the currently activated championship var season = await _seasons.FindActiveSeason(); // Checks if there is any season is in progress, else return to season list if (season != null) { var rounds = await _races.GetOrderedRaces(season.SeasonId, true); var tracks = rounds.Select(res => res.Track); var viewModel = new HomeTeamStandingsModel { // Assigns the lowest position that scores points LastPointPos = season.PointsPerPosition.Keys.Max(), SeasonTeams = await _seasonTeams.GetRankedSeasonTeams(season.SeasonId, true), Tracks = tracks, Rounds = rounds.Select(r => r.RaceId), DriverResults = await Context.DriverResults .Where(dr => dr.Race.SeasonId == season.SeasonId) .ToListAsync(), SeasonId = season.SeasonId, Year = season.SeasonNumber, Points = JsonConvert.SerializeObject(season.PointsPerPosition), PolePoints = season.PolePoints }; return(View(viewModel)); } else { return(RedirectToAction("Index", "Season")); } }