public ActionResult Page07(int id)
        {
            if (this.CurrentRegistrationState != RegistrationState.Available)
            {
                return(this.RedirectToAction(this.CurrentRegistrationState.ToString()));
            }

            List <string> memberGradesByRegistration = this.Repository.GetMemberGradesByRegistration(id);

            Page07ViewData viewData = new Page07ViewData
            {
                // DivisionOfTeam will equal 0 when it is a Primary Division team.
                DivisionOfTeam             = this.DetermineDivisionOfTeam(memberGradesByRegistration),
                Division123ProblemDropDown = new SelectList(this.Repository.ProblemsWithoutPrimaryOrSpontaneous, "ProblemID", "ProblemName"),
                IsDoingSpontaneousDropDown = new SelectList(new List <string> {
                    "Yes", "No"
                }),
                Division123ListOfProblemsAsHtmlList           = this.GetProblemsAsHtmlList(false),
                Division123AndPrimaryListOfProblemsAsHtmlList = this.GetProblemsAsHtmlList(true),
                PrimaryProblemName = this.Repository.PrimaryProblem.First().ProblemName
            };

            this.SetBaseViewData(viewData);

            return(this.View(viewData));
        }
        public ActionResult Page07(int id, Page07ViewData page07ViewData)
        {
            if (this.CurrentRegistrationState != RegistrationState.Available)
            {
                return(this.RedirectToAction(this.CurrentRegistrationState.ToString()));
            }

            try
            {
                TournamentRegistration newRegistrationData = new TournamentRegistration
                {
                    Division = page07ViewData.DivisionRadioGroup ?? page07ViewData.DivisionOfTeam.ToString(CultureInfo.InvariantCulture)
                };

                // TODO: Get rid of all these labels, Rob - 12/10/2014
                string divisionRadioGroup = page07ViewData.DivisionRadioGroup;
                if (divisionRadioGroup == null)
                {
                    goto Label_00C9;
                }

                if (divisionRadioGroup != "0")
                {
                    if (divisionRadioGroup == "1")
                    {
                        goto Label_00B0;
                    }

                    goto Label_00C9;
                }

                // Only record Spontaneous if the team is competing in the Primary Division
                newRegistrationData.ProblemID   = 6;
                newRegistrationData.Spontaneous = page07ViewData.IsDoingSpontaneous == "Yes";
                goto Label_00E2;
Label_00B0:
                newRegistrationData.ProblemID = int.Parse(page07ViewData.Division123ProblemChoice);
                goto Label_00E2;
Label_00C9:
                newRegistrationData.ProblemID = int.Parse(page07ViewData.SelectedProblem);
Label_00E2:
                this.Repository.UpdateTournamentRegistration(id, 7, newRegistrationData);

                return(this.RedirectToAction("Page08", new { id }));
            }
            catch (Exception exception)
            {
                ErrorSignal.FromCurrentContext().Raise(exception);

                // TODO: Replace with Error Message
                return(this.RedirectToAction("Index", "Home"));
            }
        }