public async Task <IActionResult> Register(int id, CreateIndividualContestRegistrationViewModel viewModel) { try { ICommand command; if (User.IsInRole(Roles.Admin)) { command = new CreateAdminIndividualContestRegistrationCommand { ViewModel = viewModel } } ; else { command = new CreateUserIndividualContestRegistrationCommand { ViewModel = viewModel } }; await HandlerDispatcher.ExecuteCommandAsync(command); } catch (ValidationException e) { e.ValidationResult.ForEach(res => ModelState.AddModelError(res.Key, res.Value)); await FillViewDataForContestRegistrationAsync(viewModel); return(View(viewModel)); } if (viewModel.ShowRegistrationInfo) { //TODO стоит ли показывать эту страницу для тренера? return(RedirectToAction(nameof(Registration) /*, new { id = result.RegistrationId }*/)); } return(RedirectToAction(nameof(Details), new { id = viewModel.ContestId })); }
protected override async Task <List <KeyValuePair <string, string> > > ValidateCreateIndividualContestRegistrationAsync(CreateIndividualContestRegistrationViewModel viewModel) { var baseRes = await base.ValidateCreateIndividualContestRegistrationAsync(viewModel); var memberRes = _contestRegistrationService.ValidateIndividualContestMember(viewModel); baseRes.AddRange(memberRes); return(baseRes); }
protected virtual Task <List <KeyValuePair <string, string> > > ValidateCreateIndividualContestRegistrationAsync( CreateIndividualContestRegistrationViewModel viewModel) { return(_contestRegistrationService.ValidateCreateIndividualContestRegistrationAsync(viewModel)); }