/// <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> /// 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; }
/// <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(); } } }
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)); }
// 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(); } }
/// <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); } } }
/// <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(); } } }
/// <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); }
/// <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()); }
public DiveList(SubContestBranch subContestBranch) : base() { this.SubContestBranch = subContestBranch; }