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);
        }
Exemplo n.º 3
0
 protected virtual async Task <List <KeyValuePair <string, string> > > ValidateEditIndividualContestRegistrationAsync(EditIndividualContestRegistrationViewModel viewModel)
 {
     return(await _contestRegistrationService.ValidateEditIndividualContestRegistrationAsync(viewModel));
 }