public async Task <IActionResult> EditRegistration(int id, EditIndividualContestRegistrationViewModel viewModel) { try { EditIndividualContestRegistrationCommand command; if (User.IsInRole(Roles.Admin)) { command = new EditAdminIndividualContestRegistrationCommand(); } else { command = new EditUserIndividualContestRegistrationCommand(); } command.ViewModel = viewModel; command.RegistrationId = id; await HandlerDispatcher.ExecuteCommandAsync(command); } catch (ValidationException e) { e.ValidationResult.ForEach(res => ModelState.AddModelError(res.Key, res.Value)); await FillViewDataForContestRegistrationAsync(viewModel); return(View(viewModel)); } return(RedirectToAction(nameof(Details), new { id = viewModel.ContestId })); }
protected override async Task <List <KeyValuePair <string, string> > > ValidateEditIndividualContestRegistrationAsync(EditIndividualContestRegistrationViewModel viewModel) { var baseRes = await base.ValidateEditIndividualContestRegistrationAsync(viewModel); var memberRes = _contestRegistrationService.ValidateIndividualContestMember(viewModel); baseRes.AddRange(memberRes); return(baseRes); }
protected virtual async Task <List <KeyValuePair <string, string> > > ValidateEditIndividualContestRegistrationAsync(EditIndividualContestRegistrationViewModel viewModel) { return(await _contestRegistrationService.ValidateEditIndividualContestRegistrationAsync(viewModel)); }