Exemplo n.º 1
0
        public async Task <IActionResult> ModifyRace(int id, int trackId)
        {
            var season = await _seasonService.GetSeasonById(id);

            var track = await _trackService.GetTrackById(trackId);

            var model = new RacesModifyRaceModel
            {
                SeasonId  = id,
                TrackId   = trackId,
                TrackName = track.Name,
            };
            // Finds the last time track was used and uses same stintsetup as then if it exists
            // Haalt de laatste keer dat een circuit gebruikt is op en past dezelfde stintsetup toe
            var lastracemodel = await _raceService.GetLastRace(season.ChampionshipId, trackId);

            if (lastracemodel != null)
            {
                foreach (var stint in lastracemodel.Stints)
                {
                    model.RaceStints.Add(stint);
                }
            }
            return(View(model));
        }
Exemplo n.º 2
0
        public async Task <IActionResult> ModifyRace(RacesModifyRaceModel raceModel)
        {
            // Those gosh darn warnings against checking for nulls, but here we are
            if (raceModel == null)
            {
                return(NotFound());
            }

            var track = await _trackService.GetTrackById(raceModel.TrackId);

            var season = await _seasonService.GetSeasonById(raceModel.SeasonId, true, true);

            // Add the created stints to the racebuilder so the race is correctly set up
            var race = _raceBuilder
                       .InitializeRace(track, season)
                       .AddModifiedStints(raceModel.RaceStints)
                       .GetResultAndRefresh();

            season.Races.Add(race);
            _seasonService.Update(season);
            await Context.SaveChangesAsync();

            return(RedirectToAction("AddTracks", new { id = raceModel.SeasonId }));
        }