public async Task <ActionResult> Create( string clubInitials, ScoreCodeWithOptionsViewModel model, string returnUrl) { var clubId = await _clubService.GetClubId(clubInitials); if (!await _authService.CanUserEdit(User, clubId)) { return(Unauthorized()); } var scoreSystem = await _scoringService.GetScoringSystemAsync(model.ScoringSystemId); if (scoreSystem.ClubId != clubId) { throw new InvalidOperationException("Score code is not for the current club."); } var coreObj = _mapper.Map <ScoreCode>(model); await _scoringService.SaveScoreCodeAsync(coreObj); if (Url.IsLocalUrl(returnUrl)) { return(Redirect(returnUrl)); } ViewData["ReturnUrl"] = returnUrl; return(View(model)); }
public async Task <ActionResult> Create( string clubInitials, Guid scoringSystemId, string returnUrl = null) { var clubId = await _clubService.GetClubId(clubInitials); ViewData["ReturnUrl"] = returnUrl; var scoringSystem = await _scoringService.GetScoringSystemAsync(scoringSystemId); if (scoringSystem.ClubId != clubId) { return(Unauthorized()); } var vm = new ScoreCodeWithOptionsViewModel { ClubId = clubId, ScoringSystemId = scoringSystemId }; return(View(vm)); }