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 }));
        }
Esempio n. 2
0
        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));
 }