public async Task <IActionResult> ImportFromContest(int id, ImportContestParticipantsViewModel viewModel)
        {
            if (!ModelState.IsValid)
            {
                var contests = await HandlerDispatcher.ExecuteQueryAsync(new ImportFromContestQuery { ContestId = id });

                ViewData["FromContestId"] = new SelectList(contests, "Id", "Name", viewModel.FromContestId);
                return(View(viewModel));
            }

            try
            {
                await HandlerDispatcher.ExecuteCommandAsync(new ImportFromContestCommand { ContestId = id, ViewModel = viewModel });
            }
            catch (InvalidOperationException ex)
            {
                ModelState.AddModelError(string.Empty, ex.Message);
                var contests = await HandlerDispatcher.ExecuteQueryAsync(new ImportFromContestQuery { ContestId = id });

                ViewData["FromContestId"] = new SelectList(contests, "Id", "Name", viewModel.FromContestId);
                return(View(viewModel));
            }

            //TODO Сказать о том, что участники успешно импортированы
            return(RedirectToAction(nameof(Details), new { id }));
        }
        public async Task <IActionResult> ImportFromContest(int id)
        {
            try
            {
                var contests = await HandlerDispatcher.ExecuteQueryAsync(new ImportFromContestQuery { ContestId = id });

                ViewData["FromContestId"] = new SelectList(contests, "Id", "Name");
            }
            catch (InvalidOperationException)
            {
                ModelState.AddModelError(string.Empty, "Нет аккаунтов участников в текущем контекте, чтобы туда кого-то добавлять");
            }

            var viewModel = new ImportContestParticipantsViewModel();

            return(View(viewModel));
        }