public async Task <IActionResult> EditRegistration(int id, EditTeamContestRegistrationViewModel viewModel) { try { EditTeamContestRegistrationCommand command; if (User.IsInRole(Roles.Admin)) { command = new EditAdminTeamContestRegistrationCommand(); } else { command = new EditUserTeamContestRegistrationCommand(); } command.RegistrationId = id; command.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)); } return(RedirectToAction(nameof(Details), new { id = viewModel.ContestId })); }
protected override async Task <List <KeyValuePair <string, string> > > ValidateEditTeamContestRegistrationAsync(EditTeamContestRegistrationViewModel viewModel) { var res = await base.ValidateEditTeamContestRegistrationAsync(viewModel); var memberRes = _contestRegistrationService.ValidateTeamContestRegistrationMember(viewModel); res.AddRange(memberRes); return(res); }
protected virtual Task <List <KeyValuePair <string, string> > > ValidateEditTeamContestRegistrationAsync( EditTeamContestRegistrationViewModel viewModel) { return(_contestRegistrationService.ValidateEditTeamContestRegistrationAsync(viewModel)); }