/// <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);
                    }
                }
            }
        }
Esempio n. 2
0
        /// <summary>
        /// Fills up ListViewDives with the dives tied to a contestant
        /// </summary>
        /// <param name="contestant">The contestant with the dives to be presented</param>
        public void UpdateDivesListView()
        {
            CancelModifyDive();

            Contestant contestant = GetSelectedContestant();

            if (contestant != null)
            {
                View.ListViewDives.Items.Clear();

                foreach (var divelist in contestant.DiveLists)
                {
                    SubContestBranch subContest = GetSelectedSubContest();

                    if (subContest != null && divelist.SubContestBranch == subContest)
                    {
                        foreach (var dive in divelist)
                        {
                            ListViewItem DiveItems = new ListViewItem(dive.Code.Code);

                            DiveItems.SubItems.Add(dive.Code.Multiplier.ToString());

                            View.ListViewDives.Items.Add(DiveItems);
                        }
                    }
                }
            }
        }
        /// <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);
        }
        public AddDivePresenter(AddDiveView view, ProjectMainWindow window, SubContestBranch subContest, Contestant contestant, Dive dive = null)
        {
            this.View         = view;
            this.window       = window;
            this.SubContest   = subContest;
            CurrentContestant = contestant;

            if (dive != null)
            {
                View.TextBoxDiveCode.Text       = dive.Code.Code;
                View.TextBoxDiveMultiplier.Text = dive.Code.Multiplier.ToString();
            }

            View.EventAddDive += AddDiveToContestant;
        }
Esempio n. 5
0
        /// <summary>
        /// Opens up a AddDiveView form and waits for the result
        /// </summary>
        private void AddDive()
        {
            SubContestBranch subContestBranch = GetSelectedSubContest();

            Contestant contestant = GetSelectedContestant();

            AddDiveView addDiveView = new AddDiveView();

            AddDivePresenter addDivePresenter = new AddDivePresenter(addDiveView, window, subContestBranch, contestant);

            if (subContestBranch != null && contestant != null)
            {
                if (addDiveView.ShowDialog() == DialogResult.OK)
                {
                    UpdateDivesListView();
                }
            }
        }
Esempio n. 6
0
        private long PushSubContestBranch(SubContestBranch branch, long contestID)
        {
            // Table info
            string table = "branch";

            // Contest info
            var name = branch.Name;

            // Build query
            string query = $"INSERT INTO {table} ";

            query += $"(name, contestID) ";
            query += $"VALUES(";
            query += $"'{name}','{contestID}'";
            query += $")";

            return(ExecuteQuery(query));
        }
Esempio n. 7
0
        // Private Methods
        private void DisplaySubContestResult(SubContestBranch subContestBranch)
        {
            View.ListViewContestants.Items.Clear();
            int i = 1;

            foreach (var result in Model.GetSubContestResultDictionary(subContestBranch))
            {
                ListViewItem listViewResultItem = new ListViewItem(i.ToString());

                listViewResultItem.SubItems.Add(result.Key.FirstName);

                listViewResultItem.SubItems.Add(result.Key.LastName);

                listViewResultItem.SubItems.Add(result.Value.ToString());

                View.ListViewContestants.Items.Add(listViewResultItem);

                i++;
            }
        }
        /// <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();
            }
        }
Esempio n. 9
0
        /// <summary>
        /// Is called when the selection is change in the combobox with subcontests
        /// </summary>
        private void UpdateContestantListView()
        {
            CancelModifyDive();

            SubContestBranch selectedSubContest = GetSelectedSubContest();

            if (selectedSubContest != null)
            {
                // Clear the listviews
                View.ListViewContestants.Items.Clear();
                View.ListViewDives.Items.Clear();

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

                    View.ListViewContestants.Items.Add(contestantItem);
                }
            }
        }
Esempio n. 10
0
        /// <summary>
        /// Updates a existing dive with new information
        /// </summary>
        private void ModifyDive()
        {
            SubContestBranch subContestBranch = GetSelectedSubContest();

            Contestant contestant = GetSelectedContestant();

            Dive dive = GetSelectedDive();

            AddDiveView modifyView = new AddDiveView();

            AddDivePresenter presenter = new AddDivePresenter(modifyView, window, subContestBranch, contestant, dive);

            if (subContestBranch != null && contestant != null && dive != null)
            {
                if (modifyView.ShowDialog() == DialogResult.OK)
                {
                    subContestBranch.RemoveExistingDive(contestant, dive);

                    UpdateDivesListView();
                }
            }
        }
Esempio n. 11
0
        /// <summary>
        /// Get the selected Dive in ListViewDives
        /// </summary>
        /// <returns>Dive object or null if nothing is chosen</returns>
        private Dive GetSelectedDive()
        {
            if (View.ListViewDives.SelectedIndices.Count != 0)
            {
                var selectedDiveIndex = View.ListViewDives.SelectedIndices[0];

                int i = 0;

                Contestant contestant = GetSelectedContestant();

                if (contestant != null)
                {
                    foreach (var diveList in contestant.DiveLists)
                    {
                        SubContestBranch subContest = GetSelectedSubContest();

                        if (subContest != null)
                        {
                            if (diveList.SubContestBranch == subContest)
                            {
                                foreach (var dive in diveList)
                                {
                                    if (i++ == selectedDiveIndex)
                                    {
                                        return(dive);
                                    }
                                }
                            }
                        }
                    }
                }
            }


            return(null);
        }
Esempio n. 12
0
 /// <summary>
 /// Get the ResultDictionary from a specified subcontest.
 /// </summary>
 /// <param name="subContest">The subcontest to generate the results</param>
 /// <returns>A ResultDictionary</returns>
 public ResultDictionary GetSubContestResultDictionary(SubContestBranch subContest)
 {
     return(subContest.GenerateSubContestResult());
 }
Esempio n. 13
0
 public DiveList(SubContestBranch subContestBranch)
     : base()
 {
     this.SubContestBranch = subContestBranch;
 }