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