public List<Klant> GetKlanten(KlantFilter filter) { List<Klant> result = new List<Klant>(); //try //{ connection.Open(); string query = "SELECT * FROM klant WHERE "; if (filter.Voornaam != "") { query += "voornaam LIKE '%" + filter.Voornaam + "%' AND "; } if (filter.Tussenvoegsel != "") { query += "tussenvoegsel LIKE '%" + filter.Tussenvoegsel + "%' AND "; } if (filter.Achternaam != "") { query += "achternaam LIKE '%" + filter.Achternaam + "%' AND "; } if (filter.Woonplaats != "") { query += "woonplaats LIKE '%" + filter.Woonplaats + "%' AND "; } if (filter.Postcode != "") { query += "postcode LIKE '%" + filter.Postcode + "%' AND "; } if (filter.Straatnaam != "") { query += "straat LIKE '%" + filter.Straatnaam + "%' AND "; } if (filter.Huisnummer != -1) { query += "huisnummer = " + filter.Huisnummer + " AND "; } if (filter.Email != "") { query += "email LIKE '%" + filter.Email + "%' AND "; } if (filter.Land != "") { query += "land LIKE '%" + filter.Land + "%' AND "; } if (filter.Telefoon != -1) { query += "telefoon = " + filter.Telefoon + " AND "; } query = query.Substring(0, query.Length - 5); OracleCommand command = new OracleCommand(query, connection); OracleDataReader reader = command.ExecuteReader(); Klant k; while (reader.Read()) { k = new Klant( Convert.ToInt32(reader["klantnr"]), (string)reader["voornaam"], (string)reader["tussenvoegsel"], (string)reader["achternaam"], (string)reader["woonplaats"], (string)reader["postcode"], (string)reader["straat"], Convert.ToInt32(reader["huisnummer"]), (string)reader["email"], (string)reader["land"], (string)reader["telefoon"] ); result.Add(k); } connection.Close(); return result; //} //catch (OracleException e) //{ // System.Windows.Forms.MessageBox.Show(e.ToString()); // return null; //} //finally //{ // connection.Close(); //} }
private void btZoekenKlant_Click(object sender, EventArgs e) { KlantFilter klantFilter = new KlantFilter(); if (tbVoornaamKlant.Text != "") klantFilter.Voornaam = tbVoornaamKlant.Text; if (tbTussenvoegselKlant.Text != "") klantFilter.Tussenvoegsel = tbTussenvoegselKlant.Text; if (tbAchternaamKlant.Text != "") klantFilter.Achternaam = tbAchternaamKlant.Text; if (tbStraatKlant.Text != "") klantFilter.Straatnaam = tbStraatKlant.Text; if (tbHuisnummerKlant.Text != "") klantFilter.Huisnummer = Convert.ToInt32(tbHuisnummerKlant.Text); if (tbPostcodeKlant.Text != "") klantFilter.Postcode = tbPostcodeKlant.Text; if (tbPlaatsKlant.Text != "") klantFilter.Woonplaats = tbPlaatsKlant.Text; if (tbLandKlant.Text != "") klantFilter.Land = tbLandKlant.Text; if (tbTelefoonnummerKlant.Text != "") klantFilter.Telefoon = Convert.ToInt32(tbTelefoonnummerKlant.Text); if (tbEmailKlant.Text != "") klantFilter.Email = tbEmailKlant.Text; liZoekresultatenKlant.Items.Clear(); klantenLijst = reparatieSysteem.ZoekKlanten(klantFilter); if (klantenLijst != null) { if (klantenLijst.Count == 0) { MessageBox.Show("Geen klanten voldoen \naan de zoekcriteria.", "Zoek Klant", MessageBoxButtons.OK); } else { foreach (Klant k in klantenLijst) { liZoekresultatenKlant.Items.Add(k); } } } else { MessageBox.Show("Er is een fout opgetreden \nmet de database.", "Zoek klant", MessageBoxButtons.OK); } }
/// <summary> /// Alleen admin mag gebruiker verwijderen. /// Zoekt de klant met de klantfilter, als resultaat 1 klant is, dan wordt gevraagd of je em echt wilt verwijderen /// Zo ja, dan wordt de klant verwijderd. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btVerwijderKlant_Click(object sender, EventArgs e) { if (gebruiker == Gebruiker.ADMIN) { KlantFilter klantFilter = new KlantFilter(); if (tbVoornaamKlant.Text != "") klantFilter.Voornaam = tbVoornaamKlant.Text; if (tbTussenvoegselKlant.Text != "") klantFilter.Tussenvoegsel = tbTussenvoegselKlant.Text; if (tbAchternaamKlant.Text != "") klantFilter.Achternaam = tbAchternaamKlant.Text; if (tbStraatKlant.Text != "") klantFilter.Straatnaam = tbStraatKlant.Text; if (tbHuisnummerKlant.Text != "") klantFilter.Huisnummer = Convert.ToInt32(tbHuisnummerKlant.Text); if (tbPostcodeKlant.Text != "") klantFilter.Postcode = tbPostcodeKlant.Text; if (tbPlaatsKlant.Text != "") klantFilter.Woonplaats = tbPlaatsKlant.Text; if (tbLandKlant.Text != "") klantFilter.Land = tbLandKlant.Text; if (tbTelefoonnummerKlant.Text != "") klantFilter.Telefoon = Convert.ToInt32(tbTelefoonnummerKlant.Text); if (tbEmailKlant.Text != "") klantFilter.Email = tbEmailKlant.Text; klantenLijst = reparatieSysteem.ZoekKlanten(klantFilter); if (klantenLijst.Count == 1) { klant = klantenLijst[0]; if (MessageBox.Show("Wilt u \n" + klant.ToString() + "\nverwijderen?.", "Klant verwijderen", MessageBoxButtons.YesNo, MessageBoxIcon.Exclamation) == DialogResult.Yes) { reparatieSysteem.VerwijderKlant(Convert.ToInt32(klant.Nr)); MessageBox.Show(klant.ToString() + "\nis succesvol verwijderd.", "Klant verwijderen", MessageBoxButtons.OK); } else { return; } } else { MessageBox.Show("Meerdere klanten voldoen \naan deze zoekcriteria.", "Klant verwijderen", MessageBoxButtons.OK); return; } } }
/// <summary> /// Zoekt de klant op meegegeven gegevens uit textboxen. /// De resultaten (klanten) worden getoont in de zoekresultaten box. /// Als er maar 1 zoekresultaat is, wordt deze meteen geselecteerd, en worden de gegevens verder ingevuld. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btZoekenKlant_Click(object sender, EventArgs e) { KlantFilter klantFilter = new KlantFilter(); lbKlantnummerKlant.Visible = false; if (tbVoornaamKlant.Text != "") klantFilter.Voornaam = tbVoornaamKlant.Text; if (tbTussenvoegselKlant.Text != "") klantFilter.Tussenvoegsel = tbTussenvoegselKlant.Text; if (tbAchternaamKlant.Text != "") klantFilter.Achternaam = tbAchternaamKlant.Text; if (tbStraatKlant.Text != "") klantFilter.Straatnaam = tbStraatKlant.Text; if (tbHuisnummerKlant.Text != "") klantFilter.Huisnummer = Convert.ToInt32(tbHuisnummerKlant.Text); if (tbPostcodeKlant.Text != "") klantFilter.Postcode = tbPostcodeKlant.Text; if (tbPlaatsKlant.Text != "") klantFilter.Woonplaats = tbPlaatsKlant.Text; if (tbLandKlant.Text != "") klantFilter.Land = tbLandKlant.Text; if (tbTelefoonnummerKlant.Text != "") klantFilter.Telefoon = Convert.ToInt32(tbTelefoonnummerKlant.Text); if (tbEmailKlant.Text != "") klantFilter.Email = tbEmailKlant.Text; liZoekresultatenKlant.Items.Clear(); klantenLijst = reparatieSysteem.ZoekKlanten(klantFilter); if (klantenLijst != null) { if (klantenLijst.Count == 0) { klant = null; lbKlantnummerKlant.Visible = false; MessageBox.Show("Geen klanten voldoen \naan de zoekcriteria.", "Zoek Klant", MessageBoxButtons.OK); return; } if (klantenLijst.Count == 1) // Meteen wordt deze klant geselecteerd. { klant = klantenLijst[0]; try { if (klant.Voornaam != null) tbVoornaamKlant.Text = klant.Voornaam; if (klant.Tussenvoegsel != null) tbTussenvoegselKlant.Text = klant.Tussenvoegsel; tbAchternaamKlant.Text = klant.Achternaam; tbStraatKlant.Text = klant.Straatnaam; tbHuisnummerKlant.Text = Convert.ToString(klant.Huisnummer); tbPostcodeKlant.Text = klant.Postcode; tbPlaatsKlant.Text = klant.Woonplaats; if (klant.Land != null) tbLandKlant.Text = klant.Land; tbTelefoonnummerKlant.Text = klant.Telefoon; tbEmailKlant.Text = klant.Email; lbKlantnummerKlant.Visible = true; lbKlantnummerKlant.Text = "Klantnummer: " + Convert.ToString(klant.Nr); liZoekresultatenKlant.Items.Add(klant.ToString()); } catch { MessageBox.Show("Niet alle klantgegevens zijn correct bekend", "Zoek Klant", MessageBoxButtons.OK); return; } liTickets.Items.Clear(); Producten.Items.Clear(); cbProductSerienummersR.Items.Clear(); //try //{ List<Product> productenLijst = reparatieSysteem.GetProductenByKlant(Convert.ToInt32(klant.Nr)); foreach (Product p in productenLijst) { Producten.Items.Add(p); cbProductSerienummersR.Items.Add(p); } List<Ticket> ticketLijst = reparatieSysteem.GetTicketsByKlantnr(Convert.ToInt32(klant.Nr)); foreach (Ticket t in ticketLijst) { liTickets.Items.Add(t); } //} //catch { MessageBox.Show("Niet alle Tickets en Producten \nkunnen geladen worden bij het Klantnummer.", "Zoek Klant", MessageBoxButtons.OK); } } else { klant = null; lbKlantnummerKlant.Visible = false; foreach (Klant k in klantenLijst) { liZoekresultatenKlant.Items.Add(k); } } } else { MessageBox.Show("Er is een fout opgetreden \nmet de database.", "Zoek klant", MessageBoxButtons.OK); } }
//Geeft een lijst van klanten terug die voldoen aan de meegegeven filter public List<Klant> ZoekKlanten(KlantFilter filter) { return database.GetKlanten(filter); }