From 9d80089a23f9b5f88083249e65dfd033462c5c90 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tommy=20=C3=96man?= Date: Thu, 26 Mar 2020 22:28:40 +0100 Subject: [PATCH] Implemented GetAll and wireing up --- TrackerLibrary/DataAccess/IDataConnection.cs | 1 + TrackerLibrary/DataAccess/SqlConnector.cs | 17 +++++- TrackerLibrary/DataAccess/TextConnector.cs | 5 ++ TrackerLibrary/Models/PersonModel.cs | 5 ++ TrackerUI/CreateTeamForm.Designer.cs | 32 ++++++------ TrackerUI/CreateTeamForm.cs | 54 ++++++++++++++++++++ 6 files changed, 97 insertions(+), 17 deletions(-) diff --git a/TrackerLibrary/DataAccess/IDataConnection.cs b/TrackerLibrary/DataAccess/IDataConnection.cs index ff38a7e..bf12a67 100644 --- a/TrackerLibrary/DataAccess/IDataConnection.cs +++ b/TrackerLibrary/DataAccess/IDataConnection.cs @@ -9,5 +9,6 @@ namespace TrackerLibrary.DataAccess { PrizeModel CreatePrize(PrizeModel model); PersonModel CreatePerson(PersonModel model); + List GetPerson_All(); } } diff --git a/TrackerLibrary/DataAccess/SqlConnector.cs b/TrackerLibrary/DataAccess/SqlConnector.cs index 9a3ffc6..c6ee4ee 100644 --- a/TrackerLibrary/DataAccess/SqlConnector.cs +++ b/TrackerLibrary/DataAccess/SqlConnector.cs @@ -2,6 +2,7 @@ using System; using System.Collections.Generic; using System.Data; +using System.Linq; using System.Text; using TrackerLibrary.Models; @@ -16,9 +17,10 @@ namespace TrackerLibrary.DataAccess { public class SqlConnector : IDataConnection { + private const string db = "Tournaments"; public PersonModel CreatePerson(PersonModel model) { - using (IDbConnection connection = new System.Data.SqlClient.SqlConnection(GlobalConfig.CnnString("Tournaments"))) { + using (IDbConnection connection = new System.Data.SqlClient.SqlConnection(GlobalConfig.CnnString(db))) { var p = new DynamicParameters(); p.Add("@FirstName", model.FirstName); p.Add("@LastName", model.LastName); @@ -42,7 +44,7 @@ namespace TrackerLibrary.DataAccess /// The prize information, including the unique identifier. public Models.PrizeModel CreatePrize(Models.PrizeModel model) { - using (IDbConnection connection = new System.Data.SqlClient.SqlConnection(GlobalConfig.CnnString("Tournaments"))) + using (IDbConnection connection = new System.Data.SqlClient.SqlConnection(GlobalConfig.CnnString(db))) { var p = new DynamicParameters(); p.Add("@PlaceNumber", model.PlaceNumber); @@ -58,5 +60,16 @@ namespace TrackerLibrary.DataAccess return model; } } + + public List GetPerson_All() + { + + List output; + using (IDbConnection connection = new System.Data.SqlClient.SqlConnection(GlobalConfig.CnnString(db))) + { + output = connection.Query("dbo.spPeople_GetAll").ToList(); + } + return output; + } } } diff --git a/TrackerLibrary/DataAccess/TextConnector.cs b/TrackerLibrary/DataAccess/TextConnector.cs index 9430182..7996374 100644 --- a/TrackerLibrary/DataAccess/TextConnector.cs +++ b/TrackerLibrary/DataAccess/TextConnector.cs @@ -58,5 +58,10 @@ namespace TrackerLibrary.DataAccess return model; } + + public List GetPerson_All() + { + return PeopleFile.FullFilePath().LoadFile().ConvertToPersonModels(); + } } } diff --git a/TrackerLibrary/Models/PersonModel.cs b/TrackerLibrary/Models/PersonModel.cs index 05598ca..407ed12 100644 --- a/TrackerLibrary/Models/PersonModel.cs +++ b/TrackerLibrary/Models/PersonModel.cs @@ -14,5 +14,10 @@ namespace TrackerLibrary.Models public string LastName { get; set; } public string EmailAddress { get; set; } public string CellPhoneNumber { get; set; } + public string FullName + { + get { return $"{FirstName} {LastName}"; } + } + } } diff --git a/TrackerUI/CreateTeamForm.Designer.cs b/TrackerUI/CreateTeamForm.Designer.cs index 7d7e7e8..1de0800 100644 --- a/TrackerUI/CreateTeamForm.Designer.cs +++ b/TrackerUI/CreateTeamForm.Designer.cs @@ -46,7 +46,7 @@ this.firstNameValue = new System.Windows.Forms.TextBox(); this.firstNameLabel = new System.Windows.Forms.Label(); this.teamMembersListBox = new System.Windows.Forms.ListBox(); - this.deleteSelectedMemberButton = new System.Windows.Forms.Button(); + this.removeSelectedMemberButton = new System.Windows.Forms.Button(); this.createTeamButton = new System.Windows.Forms.Button(); this.addNewMemberGroupBox.SuspendLayout(); this.SuspendLayout(); @@ -93,6 +93,7 @@ this.addTeamMemberButton.TabIndex = 19; this.addTeamMemberButton.Text = "Add Member"; this.addTeamMemberButton.UseVisualStyleBackColor = true; + this.addTeamMemberButton.Click += new System.EventHandler(this.addTeamMemberButton_Click); // // selectTeamMemberDropDown // @@ -235,19 +236,20 @@ this.teamMembersListBox.Size = new System.Drawing.Size(338, 512); this.teamMembersListBox.TabIndex = 21; // - // deleteSelectedMemberButton + // removeSelectedMemberButton // - this.deleteSelectedMemberButton.FlatAppearance.BorderColor = System.Drawing.Color.Silver; - this.deleteSelectedMemberButton.FlatAppearance.MouseDownBackColor = System.Drawing.Color.DimGray; - this.deleteSelectedMemberButton.FlatAppearance.MouseOverBackColor = System.Drawing.Color.WhiteSmoke; - this.deleteSelectedMemberButton.FlatStyle = System.Windows.Forms.FlatStyle.Flat; - this.deleteSelectedMemberButton.ForeColor = System.Drawing.Color.DodgerBlue; - this.deleteSelectedMemberButton.Location = new System.Drawing.Point(795, 319); - this.deleteSelectedMemberButton.Name = "deleteSelectedMemberButton"; - this.deleteSelectedMemberButton.Size = new System.Drawing.Size(125, 73); - this.deleteSelectedMemberButton.TabIndex = 22; - this.deleteSelectedMemberButton.Text = "Delete Selected"; - this.deleteSelectedMemberButton.UseVisualStyleBackColor = true; + this.removeSelectedMemberButton.FlatAppearance.BorderColor = System.Drawing.Color.Silver; + this.removeSelectedMemberButton.FlatAppearance.MouseDownBackColor = System.Drawing.Color.DimGray; + this.removeSelectedMemberButton.FlatAppearance.MouseOverBackColor = System.Drawing.Color.WhiteSmoke; + this.removeSelectedMemberButton.FlatStyle = System.Windows.Forms.FlatStyle.Flat; + this.removeSelectedMemberButton.ForeColor = System.Drawing.Color.DodgerBlue; + this.removeSelectedMemberButton.Location = new System.Drawing.Point(795, 319); + this.removeSelectedMemberButton.Name = "removeSelectedMemberButton"; + this.removeSelectedMemberButton.Size = new System.Drawing.Size(125, 73); + this.removeSelectedMemberButton.TabIndex = 22; + this.removeSelectedMemberButton.Text = "Remove Selected"; + this.removeSelectedMemberButton.UseVisualStyleBackColor = true; + this.removeSelectedMemberButton.Click += new System.EventHandler(this.removeSelectedMemberButton_Click); // // createTeamButton // @@ -271,7 +273,7 @@ this.BackColor = System.Drawing.Color.White; this.ClientSize = new System.Drawing.Size(941, 714); this.Controls.Add(this.createTeamButton); - this.Controls.Add(this.deleteSelectedMemberButton); + this.Controls.Add(this.removeSelectedMemberButton); this.Controls.Add(this.teamMembersListBox); this.Controls.Add(this.addNewMemberGroupBox); this.Controls.Add(this.addTeamMemberButton); @@ -311,7 +313,7 @@ private System.Windows.Forms.TextBox firstNameValue; private System.Windows.Forms.Label firstNameLabel; private System.Windows.Forms.ListBox teamMembersListBox; - private System.Windows.Forms.Button deleteSelectedMemberButton; + private System.Windows.Forms.Button removeSelectedMemberButton; private System.Windows.Forms.Button createTeamButton; } } \ No newline at end of file diff --git a/TrackerUI/CreateTeamForm.cs b/TrackerUI/CreateTeamForm.cs index a2c9f95..4c6dcc7 100644 --- a/TrackerUI/CreateTeamForm.cs +++ b/TrackerUI/CreateTeamForm.cs @@ -14,9 +14,34 @@ namespace TrackerUI { public partial class CreateTeamForm : Form { + private List availableTeamMembers = GlobalConfig.Connection.GetPerson_All(); + private List selectedTeamMembers = new List(); public CreateTeamForm() { InitializeComponent(); + //CreateSampleData(); + WireUpLists(); + } + + private void CreateSampleData() + { + availableTeamMembers.Add(new PersonModel { FirstName = "Tim", LastName = "Corey" }); + availableTeamMembers.Add(new PersonModel { FirstName = "Sue", LastName = "Storm" }); + selectedTeamMembers.Add(new PersonModel { FirstName = "Jane", LastName = "Smith" }); + selectedTeamMembers.Add(new PersonModel { FirstName = "Bill", LastName = "Jones" }); + } + + private void WireUpLists() + { + selectTeamMemberDropDown.DataSource = null; + + selectTeamMemberDropDown.DataSource = availableTeamMembers; + selectTeamMemberDropDown.DisplayMember = "FullName"; + + teamMembersListBox.DataSource = null; + + teamMembersListBox.DataSource = selectedTeamMembers; + teamMembersListBox.DisplayMember = "FullName"; } private void createMemberButton_Click(object sender, EventArgs e) @@ -32,6 +57,9 @@ namespace TrackerUI GlobalConfig.Connection.CreatePerson(p); + selectedTeamMembers.Add(p); + WireUpLists(); + firstNameValue.Text = string.Empty; lastNameValue.Text = string.Empty; emailValue.Text = string.Empty; @@ -67,5 +95,31 @@ namespace TrackerUI return true; } + + private void addTeamMemberButton_Click(object sender, EventArgs e) + { + PersonModel p = (PersonModel) selectTeamMemberDropDown.SelectedItem; + if (p!=null) + { + availableTeamMembers.Remove(p); + selectedTeamMembers.Add(p); + + WireUpLists(); + } + } + + private void removeSelectedMemberButton_Click(object sender, EventArgs e) + { + PersonModel p = (PersonModel)teamMembersListBox.SelectedItem; + + if (p!=null) + { + selectedTeamMembers.Remove(p); + availableTeamMembers.Add(p); + + WireUpLists(); + } + + } } }