private void MainForm_Shown(object sender, EventArgs e) { /* * Setup ComboBox to use the items in the DataSource * as the autocomplete items. */ cboDepartments.AutoCompleteMode = AutoCompleteMode.Suggest; cboDepartments.AutoCompleteSource = AutoCompleteSource.ListItems; /* * Returns all departments */ var ops = new AutoCompleteOperations(); bs.DataSource = ops.Departments(); cboDepartments.DataSource = bs; /* * key - department name * value - department identifier */ cboDepartments.DisplayMember = "key"; cboDepartments.ValueMember = "value"; /* * Get gender types into the gender ComboBox */ cboGender.DataSource = ops.Genders(); txtFirstName.SetCueText("Enter first name"); txtLastName.SetCueText("Enter last name"); cboDepartments.SetCueText("Select a department"); /* * Test if there were any exceptions while reading in data. */ if (ops.HasException) { cmdAddPatient.Enabled = false; MessageBox.Show($"Encountered issues reading data{Environment.NewLine}{ops.LastExceptionMessage}"); } }
private void cmdAddPatient_Click(object sender, EventArgs e) { // validate all information has been entered if (string.IsNullOrWhiteSpace(txtFirstName.Text) || string.IsNullOrWhiteSpace(txtLastName.Text) || cboDepartments.SelectedItem == null) { MessageBox.Show("Please make sure first and last name have values and a valid department has been selected"); return; } /* * Get selected department from ComboBox */ var department = (KeyValuePair <string, int>)cboDepartments.SelectedItem; // get selected gender primary key var genderIdentifier = ((Gender)cboGender.SelectedItem).Identifier; var ops = new AutoCompleteOperations(); var p = new Patient() { FirstName = txtFirstName.Text, LastName = txtLastName.Text, GenderIdentifier = genderIdentifier, DepartmentIdentifier = department.Value }; /* * On success of adding a patient return the new primary key */ if (ops.AddPatient(p)) { dgvPatients.Rows.Add(p.Id, p.FirstName, p.LastName, p.GenderIdentifier, p.DepartmentIdentifier); } else { MessageBox.Show(ops.LastExceptionMessage); } }