//public object DG_Allekunden { get; private set; } //public fenster_k_aenderen(List<Kunde> Kundenliste, int index) public fenster_k_aenderen(Kunde kunde, DataRowView data, int index, bool useSQL) { InitializeComponent(); k1 = kunde; SQLuse = useSQL; idx = index; if (SQLuse == false) //use sql oder liste { laden_speichern ls = new laden_speichern(); Kundenliste = ls.KundenLaden(); this.Kundenliste = Kundenliste; //MessageBox.Show("DEBUG:: open window aenderen"); TB_Nname.Text = Kundenliste[index].Nachname; TB_Vname.Text = Kundenliste[index].Vorname; TB_Geburtsdatum.Text = Kundenliste[index].geburtsdatum.ToString(); TB_mail.Text = Kundenliste[index].kontaktdaten.Email; TB_Telefon.Text = Kundenliste[index].kontaktdaten.Telefon; TB_Strasse.Text = Kundenliste[index].kontaktdaten.Adress.Strasse; TB_Hausnummer.Text = Kundenliste[index].kontaktdaten.Adress.Hausnummer; TB_PLZ.Text = Kundenliste[index].kontaktdaten.Adress.PLZ; TB_Ort.Text = Kundenliste[index].kontaktdaten.Adress.Ort; } else { k1.KundeID = (int)data.Row.ItemArray[0]; k1.Vorname = (string)data.Row.ItemArray[1]; k1.Nachname = (string)data.Row.ItemArray[2]; k1.geburtsdatum = (DateTime)data.Row.ItemArray[3]; k1.kontaktdaten = new KontaktDaten(); k1.kontaktdaten.Email = (string)data.Row.ItemArray[4]; k1.kontaktdaten.Telefon = (string)data.Row.ItemArray[5]; k1.Kontaktdaten.Adress = new Adresse(); k1.kontaktdaten.Adress.Strasse = (string)data.Row.ItemArray[6]; k1.kontaktdaten.Adress.Hausnummer = (string)data.Row.ItemArray[7]; k1.kontaktdaten.Adress.PLZ = (string)data.Row.ItemArray[8]; k1.kontaktdaten.Adress.Ort = (string)data.Row.ItemArray[9]; ////Kundendaten transfer from DG to Anlege Fenster TB_Nname.Text = k1.Nachname;; TB_Vname.Text = k1.Vorname; TB_Geburtsdatum.Text = k1.geburtsdatum.ToString(); TB_mail.Text = k1.kontaktdaten.Email; TB_Telefon.Text = k1.kontaktdaten.Telefon; TB_Strasse.Text = k1.kontaktdaten.Adress.Strasse; TB_Hausnummer.Text = k1.kontaktdaten.Adress.Hausnummer; TB_PLZ.Text = k1.kontaktdaten.Adress.PLZ; TB_Ort.Text = k1.kontaktdaten.Adress.Ort; } }
//public fenster_k_anlegen(List<Kunde> Kundenliste, int index) public fenster_k_anlegen(Kunde kunde, bool useSQL) { InitializeComponent(); SQLuse = useSQL; if (SQLuse == false) { laden_speichern ls = new laden_speichern(); Kundenliste = ls.KundenLaden(); //this.Kundenliste = Kundenliste; } }
private void BT_löschen_Click(object sender, RoutedEventArgs e) { if (DG_kunde.SelectedIndex >= 0 && Kundenliste != null) { Kundenliste.RemoveAt(DG_kunde.SelectedIndex); laden_speichern ls = new laden_speichern(); ls.KundenSpeichern(Kundenliste); } else { MessageBox.Show("Bitte zuerst Kunde Auswählen"); } //Datengrid Aktualisieren DG_kunde.ItemsSource = null; DG_kunde.ItemsSource = Kundenliste; }
//DG_Allekunden aktualisieren public void DG_Update() { try { // SQL queries benutzen für Data Grid zu aktualisieren string query; MySqlConnection con = new MySqlConnection(connstring); con.Open(); DataTable dt = new DataTable(); query = ("select t_kunde.KundenID,t_kunde.Vorname,t_kunde.Nachname , " + " t_kunde.Geburtsdatum ,t_kontaktdaten.Email,t_kontaktdaten.Telefon ," + " t_adresse.Strasse,t_adresse.Hausnummer,t_adresse.PLZ,t_adresse.Ort" + " from t_kunde " + " INNER JOIN t_kontaktdaten on t_kunde.KontaktdatenID = t_kontaktdaten.KontaktdatenID " + " INNER JOIN t_adresse on t_kunde.AdressenID = t_adresse.AdressenID"); MySqlCommand com = new MySqlCommand(query, con); MySqlDataAdapter da = new MySqlDataAdapter(com); da.Fill(dt); DG_Allekunden.ItemsSource = dt.DefaultView; //fenster_k_bearbeiten fb = new fenster_k_bearbeiten(); //fb.DG_kunde.ItemsSource = DG_Allekunden.ItemsSource; con.Close(); } catch (Exception) { //MessageBox.Show("DEBUG: in MAIN DG_Update: no SQL "); useSQL = false; //Parameter prüft connection und Data Arbeit bei Database oder List } if (useSQL == false) //Kein SQL connection, arbeit in Liste { laden_speichern ls = new laden_speichern(); Kundenliste = ls.KundenLaden(); DG_Allekunden.ItemsSource = Kundenliste; } }
public fenster_k_bearbeiten() { InitializeComponent(); laden_speichern ls = new laden_speichern(); Kundenliste = ls.KundenLaden(); this.Kundenliste = Kundenliste; Kunde kunde; DG_kunde.ItemsSource = null; if (Kundenliste.Count < 1) { MessageBox.Show("kein kunden in data grid"); } else { DG_kunde.ItemsSource = Kundenliste; } }
public void BT_aendern_Click(object sender, RoutedEventArgs e) { if (SQLuse == false) { //Kundendaten ändern MessageBox.Show($"{idx}"); // Index controller Kundenliste[idx].Nachname = TB_Nname.Text; Kundenliste[idx]._vorname = TB_Vname.Text; Kundenliste[idx].Kontaktdaten.Email = TB_mail.Text; Kundenliste[idx].Kontaktdaten.Telefon = TB_Telefon.Text; DateTime tempDat = Kundenliste[idx].geburtsdatum; if (DateTime.TryParse(TB_Geburtsdatum.Text, out Kundenliste[idx].geburtsdatum)) { } else { MessageBox.Show("Falsches Datumsformat."); Kundenliste[idx].geburtsdatum = tempDat; //close = false; } Kundenliste[idx].Kontaktdaten.Adress.Umzug(TB_Strasse.Text, TB_Hausnummer.Text, TB_PLZ.Text, TB_Ort.Text); if (CB_Lieferanschrift.IsChecked == true) { //falls abweichende lieferanschrift Kundenliste[idx].lieferanschrift.Umzug(TB_Strasse_la.Text, TB_Hausnummer_la.Text, TB_PLZ_la.Text, TB_Ort_la.Text); } laden_speichern ls = new laden_speichern(); ls.KundenSpeichern(Kundenliste); } //if (close) //{ // this.Close(); //} else { //Kommunikation mit Datenbank MySqlConnection con = new MySqlConnection("Server=localhost;Database=Team1;Uid=root;"); con.Open(); //Speicher k1.Vorname = TB_Vname.Text; k1.Nachname = TB_Nname.Text; k1.geburtsdatum = (DateTime.Parse(TB_Geburtsdatum.Text)); k1.kontaktdaten = new KontaktDaten(); k1.kontaktdaten.Email = TB_mail.Text; k1.kontaktdaten.Telefon = TB_Telefon.Text; k1.kontaktdaten.Adress = new Adresse(); k1.Kontaktdaten.Adress.Strasse = TB_Strasse.Text; k1.kontaktdaten.Adress.Hausnummer = TB_Hausnummer.Text; k1.kontaktdaten.Adress.PLZ = TB_PLZ.Text; k1.kontaktdaten.Adress.Ort = TB_Ort.Text; string kid = ""; string konid = ""; string adid = ""; string query = $"select * from t_kunde where KundenID= {k1.KundeID }"; MySqlCommand com = new MySqlCommand(query); com.Connection = con; MySqlDataReader reader = com.ExecuteReader(); // lesen alle daten von t_kunde if (reader.Read()) { kid = reader[0].ToString(); // er holt nur stelle 0 , stelle 0 isr KundenID konid = reader[2].ToString(); //er holt nur stelle 2 , stelle 0 isr kontaktID adid = reader[5].ToString(); //AdressID } reader.Close(); MessageBox.Show($"DEBUG:in AENDEREN: KundenID ={ kid} "); //MessageBox.Show("DEBUG:in AENDEREN: Daten aus Formular gelesen "); string updatequery = $"update t_kunde set Nachname='{k1.Nachname}',Vorname='{k1.Vorname}' where KundenID = {kid}"; com.CommandText = updatequery; com.ExecuteNonQuery(); //MessageBox.Show("DEBUG:in AENDEREN: in SQL geschrieben "); MessageBox.Show($"DEBUG:in AENDEREN: kontaktID = {konid} "); string konupdate = $"update t_kontaktdaten set Email='{k1.kontaktdaten.Email}',Telefon='{k1.kontaktdaten.Telefon}' where KontaktdatenID = {konid} "; com.CommandText = konupdate; com.ExecuteNonQuery(); string adressupdate = $"update t_adresse set Strasse ='{k1.kontaktdaten.Adress.Strasse}',Hausnummer ='{k1.kontaktdaten.Adress.Hausnummer}' ,PLZ= '{k1.kontaktdaten.Adress.PLZ}',Ort= '{k1.kontaktdaten.Adress.Ort}' where AdressenID={adid} "; com.CommandText = adressupdate; com.ExecuteNonQuery(); con.Close(); } Close(); }
// Delete from SQL Database oder Liste private void delete_Click(object sender, RoutedEventArgs e) { if (useSQL == false) { index = DG_Allekunden.SelectedIndex; if (DG_Allekunden.SelectedIndex >= 0 && Kundenliste != null) { Kundenliste.RemoveAt(DG_Allekunden.SelectedIndex); laden_speichern ls = new laden_speichern(); ls.KundenSpeichern(Kundenliste); } else { MessageBox.Show("Bitte zuerst Kunde Auswählen"); } //Datengrid Aktualisieren DG_Allekunden.ItemsSource = null; DG_Allekunden.ItemsSource = Kundenliste; } else // SQL verbindet { MySqlConnection con = new MySqlConnection("Server=localhost;Database=Team1;Uid=root;"); //connection bauen con.Open(); //connection öffnen string query = $"select * from t_kunde where KundenID={((DataRowView)DG_Allekunden.SelectedItem).Row.ItemArray[0]}"; //gibt alle Daten die in t_kunde sind und vergleicht der Primary key mit den selected rows erste stelle wo normalerweise kommt der primary key MySqlCommand com = new MySqlCommand(query); //select query in command com.Connection = con; //command ist connected mit unsere connected database MySqlDataReader reader = com.ExecuteReader(); // lesen alle daten von t_kunde //leere strings ; die reservieren platz für : string kid = ""; //KundenId string konid = ""; //KontaktdatenID string adid = ""; //AdressID if (reader.Read()) { kid = reader[0].ToString(); // er holt nur stelle 0 von table t_kunde , stelle 0 ist KundenID konid = reader[2].ToString(); //er holt nur stelle 2 von table t_kunde, stelle 2 isr kontaktdatenID adid = reader[5].ToString(); // er holt nur stelle 5 von table t_kunde , stelle 0 ist AdressId } reader.Close(); //close executreader // Bei Delete process muss der delete von mehr als eine table passiert; weil t_kunde hat 2 foreign key(kontaktdatenid,adressid) //alle daten die verbinden mit t_kunde muss auch löschen //1. löschen alle Kunden Termin //2.löschen t_kunde table //3.löschen alle kunden Kontaktdaten von t_kontaktdaten //4.und dann löschen kunden Adress daten von t_Adress com.CommandText = $"delete from t_termin where KundenID ={kid}"; //delete alle Kunden Termine before t_kunde table zu löschen if (com.ExecuteNonQuery() > 0 // ) { MessageBox.Show(" Successfuly Termine deleted"); } com.CommandText = $"delete from t_kunde where KundenID ={kid}"; if (com.ExecuteNonQuery() > 0 ) { MessageBox.Show(" Successfuly!! Kunde is deleted"); } try { com.CommandText = $"delete from t_kontaktdaten where KontaktdatenID ={konid}"; //alle kunden kontaktdaten löschen if (com.ExecuteNonQuery() > 0 ) { MessageBox.Show(" Successfuly Kunde Kontakdaten deleted"); } } catch (Exception) { } com.CommandText = $"delete from t_adresse where AdressenID={adid}"; //kunde adress löschen com.ExecuteNonQuery(); if (com.ExecuteNonQuery() > 0 ) { MessageBox.Show(" Successfuly Kunde Adress deleted"); } DG_Update(); con.Close(); } }
private void Window_Closing(object sender, System.ComponentModel.CancelEventArgs e) { laden_speichern ls = new laden_speichern(); ls.KundenSpeichern(Kundenliste); }