Exemplo n.º 1
0
    public async Task <ActionResult> Edit(
        string clubInitials,
        Guid id,
        string returnUrl = null)
    {
        ViewData["ReturnUrl"]    = returnUrl;
        ViewData["ClubInitials"] = clubInitials;
        var club = await _clubService.GetMinimalClub(clubInitials);

        if (!await _authService.CanUserEdit(User, club.Id))
        {
            return(Unauthorized());
        }
        var race = await _raceService.GetSingleRaceDetailsAsync(clubInitials, id);

        if (race == null)
        {
            return(NotFound());
        }
        if (race.ClubId != club.Id)
        {
            return(Unauthorized());
        }

        var raceWithOptions = _mapper.Map <RaceWithOptionsViewModel>(race);

        await _raceService.AddOptionsToRace(raceWithOptions);

        raceWithOptions.UseAdvancedFeatures = club.UseAdvancedFeatures ?? false;

        return(View(raceWithOptions));
    }