/// <summary>
        /// Is triggered when a created subcontest is selected. Opens it up for editing
        /// </summary>
        private void SubContestSelected()
        {
            if (View.ListViewSubContests.SelectedItems.Count == 1)
            {
                var subContestName = View.ListViewSubContests.SelectedItems[0].Text;
                foreach (var sc in SubContests)
                {
                    if (sc.Name == subContestName)
                    {
                        SelectedSubContest = sc;

                        View.TextBoxName.Text = SelectedSubContest.Name;

                        SubContestContestants.Clear();

                        View.ListViewSubContestContestants.Items.Clear();

                        SubContestContestants = SelectedSubContest.BranchContestants.DeepCopy();

                        foreach (var c in SelectedSubContest.BranchContestants)
                        {
                            ListViewItem listViewSubContestContestantsItems = new ListViewItem(c.FirstName);
                            listViewSubContestContestantsItems.SubItems.Add(c.LastName);

                            View.ListViewSubContestContestants.Items.Add(listViewSubContestContestantsItems);
                        }

                        // open up the edit buttons.
                        ToggleButtons(true);
                    }
                }
            }
        }
        /// <summary>
        /// Clears the various data that the user has entered
        /// </summary>
        private void ClearInputs()
        {
            View.TextBoxName.Clear();
            View.ListViewSubContestContestants.Items.Clear();
            View.ListViewContestContestants.SelectedItems.Clear();
            View.ListViewSubContests.SelectedItems.Clear();

            SubContestContestants.Clear();

            SelectedSubContest = null;

            ToggleButtons(false);
        }
        /// <summary>
        /// Add a new subcontest to the contest
        /// </summary>
        private void AddSubContest()
        {
            bool isDataValid = false;

            if (CheckDataInput.StringCheckFormat(View.TextBoxName.Text))
            {
                if (SubContestContestants.Count != 0)
                {
                    isDataValid = true;
                }
                else
                {
                    MessageBox.Show("En deltävling behöver minst en deltagare.");
                }
            }
            else
            {
                MessageBox.Show("Tävlingsnamn ej korrekt. Får ej innehålla specialtecken, förutom _ och -");
            }

            if (isDataValid)
            {
                // Make a copy of the gathered SubContestants
                List <Contestant> list           = SubContestContestants.ToList();
                ContestantList    contestantList = new ContestantList();
                foreach (var c in list)
                {
                    contestantList.Add(c);
                }

                // Create the subcontest
                SubContestBranch subContestBranch = new SubContestBranch(View.TextBoxName.Text, CurrentContest, contestantList);

                SubContests.Add(subContestBranch);
                View.ListViewSubContests.Items.Add(subContestBranch.Name);

                // clear the inputs
                SubContestContestants.Clear();
                ClearInputs();
            }
        }
        /// <summary>
        /// Updates a selected sub contest
        /// </summary>
        private void UpdateSubContest()
        {
            if (SelectedSubContest != null)
            {
                SelectedSubContest.Name = View.TextBoxName.Text;
                SelectedSubContest.BranchContestants.Clear();

                SelectedSubContest.BranchContestants = SubContestContestants.DeepCopy();


                SubContestContestants.Clear();
                View.ListViewSubContests.Items.Clear();

                foreach (var sc in SubContests)
                {
                    ListViewItem listViewSubContestsItems = new ListViewItem(sc.Name);

                    View.ListViewSubContests.Items.Add(listViewSubContestsItems);
                }

                ClearInputs();
            }
        }
 private void CancelEditOfSubContest()
 {
     SubContestContestants.Clear();
     ClearInputs();
 }