public ActionResult TransferParticipants(int id, string returnUrl)
        {
            returnUrl = string.IsNullOrWhiteSpace(returnUrl) ?
                        this.Request.UrlReferrer?.AbsolutePath :
                        UrlHelpers.ExtractFullContestsTreeUrlFromPath(returnUrl);

            if (!this.User.IsAdmin())
            {
                return(this.RedirectToContestsAdminPanelWithNoPrivilegesMessage());
            }

            var contest = this.contestsData
                          .GetAllInactive()
                          .Where(c => c.Id == id)
                          .Select(TransferParticipantsViewModel.FromContest)
                          .FirstOrDefault();

            if (contest == null || contest.OfficialParticipantsCount == 0)
            {
                this.TempData[GlobalConstants.DangerMessage] = Resource.Contest_not_valid;
                return(this.RedirectToAction <ContestsController>(c => c.Index()));
            }

            this.ViewBag.ReturnUrl = returnUrl;

            return(this.View(contest));
        }