public async Task <ActionResult> Create( string clubInitials, ScoringSystemWithOptionsViewModel model) { var clubId = await _clubService.GetClubId(clubInitials); if (!await _authService.CanUserEdit(User, clubId)) { return(Unauthorized()); } model.ClubId = clubId; model.Id = Guid.NewGuid(); if (!ModelState.IsValid) { var potentialParents = await _scoringService.GetScoringSystemsAsync(clubId, true); model.ParentSystemOptions = potentialParents.ToList(); return(View(model)); } await _scoringService.SaveScoringSystemAsync( _mapper.Map <ScoringSystem>(model)); return(RedirectToAction("Edit", "ScoringSystem", new { id = model.Id })); }
public async Task <ActionResult> Edit( string clubInitials, ScoringSystemWithOptionsViewModel model) { var clubId = await _clubService.GetClubId(clubInitials); if (!await _authService.CanUserEdit(User, clubId) || model.ClubId != clubId) { return(Unauthorized()); } if (!ModelState.IsValid) { var potentialParents = await _scoringService.GetScoringSystemsAsync(clubId, true); model.ParentSystemOptions = potentialParents.ToList(); var scoringSystem = await _scoringService.GetScoringSystemAsync(model.Id); model.ScoreCodes = scoringSystem.ScoreCodes; model.InheritedScoreCodes = scoringSystem.InheritedScoreCodes; return(View(model)); } var system = _mapper.Map <ScoringSystem>(model); await _scoringService.SaveScoringSystemAsync(system); return(RedirectToAction("Index", "Admin")); }
public async Task <ActionResult> Create( string clubInitials) { var clubId = await _clubService.GetClubId(clubInitials); if (!await _authService.CanUserEdit(User, clubId)) { return(Unauthorized()); } var vm = new ScoringSystemWithOptionsViewModel { ClubId = clubId, DiscardPattern = "0" }; var potentialParents = await _scoringService.GetScoringSystemsAsync(clubId, true); vm.ParentSystemOptions = potentialParents.ToList(); return(View(vm)); }