private void ListBox_iauswahl(object sender, SelectionChangedEventArgs e) { Projekt p = ((sender as ListBox).SelectedItem as Projekt); temp = p; //cp.anzeigen(p); }
//Anzeigen der Projektbezeichnung und ID in den dafür vorgesehenen Textboxen public override void anzeigen(Model objekt) { if (objekt == null) { return; } Projekt p = (Projekt)objekt; if (frm.GetType().Name == "Projektverwaltung") { Projektverwaltung pv = (Projektverwaltung)frm; pv.detailsProjektID.Text = p.getProjektID().ToString(); pv.detailsBezeichnung.Text = p.getBezeichnung(); //onUpdateData(); return; } else if (frm.GetType().Name == "Projekt_anlegen") { Projekt_anlegen pa = (Projekt_anlegen)frm; pa.textProjektID.Text = db.getID(p).ToString(); return; } }
public Export(DatabaseAdapter db) { InitializeComponent(); this.db = db; cp = new ControllerProjekt(db, this); textProjektIDexp.Text = Projekt.getProjektIDtemp().ToString(); textBezeichnungexp.Text = Projekt.getBezeichnungtemp(); }
private void exportieren_Click(object sender, RoutedEventArgs e) { cp.export(); Projekt p = new Projekt(textProjektIDexp.Text); cp.loeschen(p); this.Close(); }
public override List <Projekt> get(Projekt objekt) { List <Model> temp_list = get((Model)objekt); List <Projekt> return_list = new List <Projekt>(); foreach (Model temp_model in temp_list) { return_list.Add((Projekt)temp_model); } return(return_list); }
private void loeschen_Click(object sender, RoutedEventArgs e) { if (detailsProjektID.Text == "") { MessageBox.Show("Sie haben kein Projekt ausgewählt"); } else { Projekt p = new Projekt(detailsProjektID.Text); cp.loeschen(p); } }
private void export_Click(object sender, RoutedEventArgs e) { if (detailsProjektID.Text == "") { MessageBox.Show("Sie haben kein Projekt ausgewählt"); } else { Projekt.setProjektIDtemp(detailsProjektID.Text); Projekt.setBezeichnungtemp(detailsBezeichnung.Text); cp.export(); } }
/* * fügt ein neues Model in die Datenbank ein */ public override Model insert(Model objekt) { int myID = 0; List <Model> return_model = null; if (objekt.GetType().Name == "Kriterium") { Kriterium temp_objekt = (Kriterium)objekt; temp_objekt.setKriteriumID(newID(objekt)); // Autoincrement vergeben ExecuteSQL("INSERT INTO Kriterium (KriteriumID, Bezeichnung) VALUES ( " + temp_objekt.getKriteriumID() + ", '" + temp_objekt.getBezeichnung() + "');"); return_model = get(temp_objekt); } else if (objekt.GetType().Name == "Nutzwert") { Nutzwert temp_objekt = (Nutzwert)objekt; ExecuteSQL("INSERT INTO NWA (KriteriumID, ProjektID, ProduktID, Erfuellung, Gewichtung, Kommentar, beitrag_absolut, beitrag_absolut_check, abstufung) VALUES ( " + temp_objekt.getKriteriumID() + ", " + temp_objekt.getProjektID() + " , " + temp_objekt.getProduktID() + ", " + temp_objekt.getErfuellung() + ", " + temp_objekt.getGewichtung() + ", '" + temp_objekt.getKommentar() + "', " + temp_objekt.getBeitragAbsolut().ToString().Replace(",", ".") + ", " + temp_objekt.getBeitragAbsolutCheck() + ", " + temp_objekt.getAbstufung().ToString().Replace(",", ".") + ");"); return_model = get(temp_objekt); } else if (objekt.GetType().Name == "Produkt") { Produkt p = (Produkt)objekt; p.setProduktID(newID(objekt)); // Autoincrement vergeben ExecuteSQL("INSERT INTO Produkt (ProduktID, Bezeichnung) VALUES ( " + p.getProduktID() + ", '" + p.getBezeichnung() + "');"); return_model = get(p); } else if (objekt.GetType().Name == "Projekt") { Projekt proj = (Projekt)objekt; proj.setProjektID(newID(objekt)); // Autoincrement vergeben ExecuteSQL("INSERT INTO Projekt (ProjektID, Bezeichnung) VALUES ( " + proj.getProjektID() + ", '" + proj.getBezeichnung() + "');"); return_model = get(proj); } else if (objekt.GetType().Name == "Kriteriumstruktur") { Kriteriumstruktur temp_objekt = (Kriteriumstruktur)objekt; myID = temp_objekt.getOberKriteriumID(); // Hat kein Autoincrement ExecuteSQL("INSERT INTO Kriteriumstruktur (OberKriteriumID, UnterKriteriumID) VALUES ( " + temp_objekt.getOberKriteriumID() + ", '" + temp_objekt.getUnterKriteriumID() + "');"); return_model = get(temp_objekt); } if (return_model == null) { throw new NotImplementedException(); } return(return_model[0]); }
//Import-Funktion für die archivierten Projekte auf der zweiten Datenbank mit der dazughörigen NWA public void import(Model objekt) { if (frm.GetType().Name == "Projektverwaltung") { Import i = new Import(db); i.ShowDialog(); onUpdateData(); } else if (frm.GetType().Name == "Import") { DatabaseAdapter expdb = new mySQLAdapter("db4free.net", "nwat_expimp", "nutzwertexpimp", "ad.nutz#"); // Konstruktor Import i = (Import)frm; Projekt proj = (Projekt)objekt; db.exp(proj, expdb, false); expdb.delete(proj); } }
//Löschen eines vorhandenen Projektes --> Überprüfung einer dazugehörigen NWA im DialogFenster public override void loeschen(Model objekt) { if (objekt == null) { return; } if (frm.GetType().Name == "Projektverwaltung") { Projektverwaltung pv = (Projektverwaltung)frm; Nutzwert temp_nutz = new Nutzwert(ProjektID: pv.detailsProjektID.Text, ProduktID: "-1", KriteriumID: "-1"); List <Nutzwert> temp = db.get(temp_nutz); if (temp.Count != 0) { if (MessageBox.Show("Es ist eine dazugehörige NWA vorhanden möchten Sie trozdem Löschen ?", "Löschen", MessageBoxButton.YesNo, MessageBoxImage.Warning) == MessageBoxResult.Yes) { db.delete(objekt); pv.detailsBezeichnung.Text = ""; pv.detailsProjektID.Text = ""; onUpdateData(); return; } } else { db.delete(objekt); pv.detailsBezeichnung.Text = ""; pv.detailsProjektID.Text = ""; onUpdateData(); return; } return; } else if (frm.GetType().Name == "Export") { Export ex = (Export)frm; Projekt p = new Projekt(); p.setProjektID(Int32.Parse(ex.textProjektIDexp.Text)); p.setBezeichnung(ex.textBezeichnungexp.Text); db.delete(p); return; } throw new NotImplementedException(); }
//Anlegen eines neuen Projektes //ProjektID wird automatisch vergeben public override void anlegen() { if (frm.GetType().Name == "Projekt_anlegen") { Projekt_anlegen pa = (Projekt_anlegen)frm; Projekt p = new Projekt(); p.setBezeichnung(pa.textBezeichnung.Text); db.insert(p); onUpdateView(); return; } else if (frm.GetType().Name == "Projektverwaltung") { Projekt_anlegen pa = new Projekt_anlegen(db); pa.ShowDialog(); onUpdateData(); return; } throw new NotImplementedException(); }
//Export-Funktion zum archivieren von Projekten mit der dazugehörigen NWA //Archivierung geschieht sowohl auf eine zweite Datenbank als auch zur Übrprüfung in eine separate Datei public void export() { if (frm.GetType().Name == "Projektverwaltung") { Projektverwaltung pv = (Projektverwaltung)frm; Export ex = new Export(db); ex.ShowDialog(); onUpdateData(); pv.detailsBezeichnung.Text = ""; pv.detailsProjektID.Text = ""; } else if (frm.GetType().Name == "Export") { DatabaseAdapter expdb = new mySQLAdapter("db4free.net", "nwat_expimp", "nutzwertexpimp", "ad.nutz#"); // Konstruktor Export ex = (Export)frm; Projekt p = new Projekt(); p.setProjektID(Int32.Parse(ex.textProjektIDexp.Text)); p.setBezeichnung(ex.textBezeichnungexp.Text); expdb.exp(p, db, true); } }
} //Konstruktor //Funktion zum Ändern der Projektbezeichnung public override void aendern() { if (frm.GetType().Name == "Projekt_aendern") { Projekt_aendern pa = (Projekt_aendern)frm; Projekt p = new Projekt(); p.setProjektID(Int32.Parse(pa.textProjektIDaendern.Text)); p.setBezeichnung(pa.textBezeichnungaendern.Text); db.update(p); onUpdateView(); return; } else if (frm.GetType().Name == "Projektverwaltung") { Projekt_aendern pa = new Projekt_aendern(db); Projekt p = new Projekt(); pa.ShowDialog(); onUpdateData(); return; } throw new NotImplementedException(); }
/* * löscht das Model in der Datenbank * Key-Überprüfung fehlt! */ public override void delete(Model objekt) { if (objekt == null) { throw new Exception("Objekt darf nicht null sein"); } if (objekt.GetType().Name == "Kriterium") { Kriterium temp_objekt = (Kriterium)objekt; if (temp_objekt.getKriteriumID() > 0) { ExecuteSQL("DELETE FROM Kriterium WHERE KriteriumID = '" + temp_objekt.getKriteriumID() + "';"); } else { throw new Exception("ID darf bei delete nicht 0 sein"); } } else if (objekt.GetType().Name == "Nutzwert") { Nutzwert temp_objekt = (Nutzwert)objekt; if (temp_objekt.getProduktID() != 0 && temp_objekt.getProjektID() != 0 && temp_objekt.getKriteriumID() != 0) { ExecuteSQL("DELETE FROM NWA WHERE ProduktID = " + temp_objekt.getProduktID() + " AND ProjektID = " + temp_objekt.getProjektID() + " AND KriteriumID = " + temp_objekt.getKriteriumID() + ";"); } else { throw new Exception("ID darf bei delete nicht 0 sein"); } } else if (objekt.GetType().Name == "Produkt") { Produkt temp_objekt = (Produkt)objekt; if (temp_objekt.getProduktID() > 0) { ExecuteSQL("DELETE FROM Produkt WHERE ProduktID = '" + temp_objekt.getProduktID() + "';"); } else { throw new Exception("ID darf bei delete nicht 0 sein"); } } else if (objekt.GetType().Name == "Projekt") { Projekt temp_objekt = (Projekt)objekt; if (temp_objekt.getProjektID() == 0) { } if (temp_objekt.getProjektID() > 0) { ExecuteSQL("DELETE FROM Projekt WHERE ProjektID = '" + temp_objekt.getProjektID() + "';"); //löscht die NWA in der das Projekt vorkommt ExecuteSQL("DELETE FROM NWA WHERE ProjektID = '" + temp_objekt.getProjektID() + "';"); } } else if (objekt.GetType().Name == "Kriteriumstruktur") { Kriteriumstruktur temp_obj = (Kriteriumstruktur)objekt; if (temp_obj.getOberKriteriumID() != 0 && temp_obj.getUnterKriteriumID() == 0) { ExecuteSQL("DELETE * FROM Kriteriumstruktur WHERE OberKriteriumID = '" + temp_obj.getOberKriteriumID() + "';"); } else if (temp_obj.getUnterKriteriumID() != 0 && temp_obj.getOberKriteriumID() == 0) { ExecuteSQL("DELETE * FROM Kriteriumstruktur WHERE UnterKriteriumID = '" + temp_obj.getUnterKriteriumID() + "';"); } else if (temp_obj.getUnterKriteriumID() != 0 && temp_obj.getOberKriteriumID() != 0) { ExecuteSQL("DELETE FROM Kriteriumstruktur WHERE UnterKriteriumID=" + temp_obj.getUnterKriteriumID() + " AND OberKriteriumID=" + temp_obj.getOberKriteriumID() + ";"); } } }
/* * updated das Model in der Datenbank */ public override void update(Model objekt) { if (objekt == null) { throw new Exception("Objekt darf nicht null sein"); } if (objekt.GetType().Name == "Kriterium") { Kriterium temp_objekt = (Kriterium)objekt; if (temp_objekt.getKriteriumID() != 0) { ExecuteSQL("UPDATE Kriterium SET Bezeichnung='" + temp_objekt.getBezeichnung() + "' WHERE KriteriumID = '" + temp_objekt.getKriteriumID() + "';"); } else { throw new Exception("ID darf bei delete nicht 0 sein"); } } else if (objekt.GetType().Name == "Nutzwert") { Nutzwert temp_objekt = (Nutzwert)objekt; if (get(temp_objekt).Count != 0) { if (temp_objekt.getProduktID() >= 0) { ExecuteSQL("UPDATE NWA SET Kommentar='" + temp_objekt.getKommentar() + "', Erfuellung=" + temp_objekt.getErfuellung() + ", beitrag_absolut=" + temp_objekt.getBeitragAbsolut().ToString().Replace(",", ".") + ", beitrag_absolut_check=" + temp_objekt.getBeitragAbsolutCheck() + ", abstufung=" + temp_objekt.getAbstufung().ToString().Replace(",", ".") + " WHERE KriteriumID = " + temp_objekt.getKriteriumID() + " AND ProjektID = " + temp_objekt.getProjektID() + " AND ProduktID = " + temp_objekt.getProduktID() + ";"); } if (MessageBox.Show("Möchten Sie die Gewichtung Projektweit aktualisieren?", "Gewichtung", MessageBoxButton.YesNo, MessageBoxImage.Warning) == MessageBoxResult.Yes) { ExecuteSQL("UPDATE NWA SET Gewichtung=" + temp_objekt.getGewichtung() + " WHERE KriteriumID = " + temp_objekt.getKriteriumID() + " AND ProjektID = " + temp_objekt.getProjektID() + ";"); } else { ExecuteSQL("UPDATE NWA SET Gewichtung=" + temp_objekt.getGewichtung() + " WHERE KriteriumID = " + temp_objekt.getKriteriumID() + " AND ProjektID = " + temp_objekt.getProjektID() + " AND ProduktID = " + temp_objekt.getProduktID() + ";"); } } else { insert(temp_objekt); } } else if (objekt.GetType().Name == "Produkt") { Produkt temp_objekt = (Produkt)objekt; if (temp_objekt.getProduktID() != 0) { ExecuteSQL("UPDATE Produkt SET Bezeichnung='" + temp_objekt.getBezeichnung() + " ' WHERE ProduktID = '" + temp_objekt.getProduktID() + "';"); } else { throw new Exception("ID darf bei delete nicht 0 sein"); } } else if (objekt.GetType().Name == "Projekt") { Projekt temp_objekt = (Projekt)objekt; if (temp_objekt.getProjektID() != 0) { ExecuteSQL("UPDATE Projekt SET Bezeichnung='" + temp_objekt.getBezeichnung() + "' WHERE ProjektID = '" + temp_objekt.getProjektID() + "';"); } else { throw new Exception("ID darf bei Update nicht 0 sein"); } } }
/* * generische get-Methode */ public List <Model> get(Model objekt) { List <Model> return_list = new List <Model>(); if (objekt.GetType().Name == "Kriterium") { Kriterium temp_obj = (Kriterium)objekt; if (temp_obj.getKriteriumID() == -1) { DataTable temp_datatable = QuerySQL("SELECT * FROM Kriterium;"); foreach (DataRow row in temp_datatable.Rows) { Kriterium temp_model = new Kriterium(); temp_model.setKriteriumID((int)row[0]); temp_model.setBezeichnung((string)row[1]); return_list.Add(temp_model); } } else if (temp_obj.getKriteriumID() == 0) // falsch noch korrigieren! { DataTable temp_datatable = QuerySQL("SELECT * FROM Kriterium;"); foreach (DataRow row in temp_datatable.Rows) { Kriterium temp_model = new Kriterium(); temp_model.setKriteriumID((int)row[0]); temp_model.setBezeichnung((string)row[1]); return_list.Add(temp_model); } } else { DataTable temp_datatable = QuerySQL("SELECT * FROM Kriterium WHERE KriteriumID = " + temp_obj.getKriteriumID() + ";"); foreach (DataRow row in temp_datatable.Rows) { Kriterium temp_model = new Kriterium(); temp_model.setKriteriumID((int)row[0]); temp_model.setBezeichnung((string)row[1]); return_list.Add(temp_model); } } return(return_list); } else if (objekt.GetType().Name == "Nutzwert") { Nutzwert temp_obj = (Nutzwert)objekt; if (temp_obj.getProduktID() == -1 && temp_obj.getProjektID() != -1 && temp_obj.getKriteriumID() != -1) { DataTable temp_datatable = QuerySQL("SELECT * FROM NWA WHERE KriteriumID = " + temp_obj.getKriteriumID() + " AND ProjektID = " + temp_obj.getProjektID() + ";"); foreach (DataRow row in temp_datatable.Rows) { Nutzwert temp_model = new Nutzwert(ProjektID: (int)row[0], KriteriumID: (int)row[1], ProduktID: (int)row[2], Erfuellung: (bool)row[3], Gewichtung: (int)row[4], Kommentar: (string)row[5], BeitragAbsolut: (double)row[6], BeitragAbsolutCheck: (bool)row[7], Abstufung: (double)row[8]); return_list.Add(temp_model); } } else if (temp_obj.getProduktID() == -1 && temp_obj.getProjektID() != -1 && temp_obj.getKriteriumID() == -1) { DataTable temp_datatable = QuerySQL("SELECT * FROM NWA WHERE ProjektID = " + temp_obj.getProjektID() + ";"); foreach (DataRow row in temp_datatable.Rows) { Nutzwert temp_model = new Nutzwert(ProjektID: (int)row[0], KriteriumID: (int)row[1], ProduktID: (int)row[2], Erfuellung: (bool)row[3], Gewichtung: (int)row[4], Kommentar: (string)row[5], BeitragAbsolut: (double)row[6], BeitragAbsolutCheck: (bool)row[7], Abstufung: (double)row[8]); return_list.Add(temp_model); } } else if (temp_obj.getKriteriumID() >= 0 && temp_obj.getProjektID() >= 0 && temp_obj.getProduktID() >= 0) { DataTable temp_datatable = QuerySQL("SELECT * FROM NWA WHERE KriteriumID = " + temp_obj.getKriteriumID() + " AND ProjektID = " + temp_obj.getProjektID() + " AND ProduktID = " + temp_obj.getProduktID() + ";"); foreach (DataRow row in temp_datatable.Rows) { Nutzwert temp_model = new Nutzwert(ProjektID: (int)row[0], KriteriumID: (int)row[1], ProduktID: (int)row[2], Erfuellung: (bool)row[3], Gewichtung: (int)row[4], Kommentar: (string)row[5], BeitragAbsolut: (double)row[6], BeitragAbsolutCheck: (bool)row[7], Abstufung: (double)row[8]); return_list.Add(temp_model); } /* Wenn per Get kein NWA-Model gefunden wurde, wird aus dem Standard-NWA ein Model erzeugt und in der DB gespeichert */ if (return_list.Count == 0 && temp_obj.getProduktID() != 0 && temp_obj.getProjektID() != 0) { List <Model> standard_objekt = this.get(new Nutzwert(KriteriumID: temp_obj.getKriteriumID(), ProjektID: 0, ProduktID: 0)); if (standard_objekt.Count != 1) { throw new Exception("Es darf nur ein Standard-NWA-Objekt vorhanden sein."); } else { // checken ob ein NWA-Objekt mit Gewichtung für das Projekt exestiert List <Model> projekt_objekt = this.get(new Nutzwert(KriteriumID: temp_obj.getKriteriumID(), ProjektID: temp_obj.getProjektID(), ProduktID: -1)); if (projekt_objekt.Count == 0) { // Gewichtung ebenfalls aus Standard-NWA-Objekt holen return_list.Add(insert(new Nutzwert(KriteriumID: temp_obj.getKriteriumID(), ProjektID: temp_obj.getProjektID(), ProduktID: temp_obj.getProduktID(), Erfuellung: ((Nutzwert)standard_objekt[0]).getErfuellung(), Gewichtung: ((Nutzwert)standard_objekt[0]).getGewichtung(), Abstufung: ((Nutzwert)standard_objekt[0]).getAbstufung()))); } else { // Gewichtung aus dem NWA-Projekt-Objekt holen return_list.Add(insert(new Nutzwert(KriteriumID: temp_obj.getKriteriumID(), ProjektID: temp_obj.getProjektID(), ProduktID: temp_obj.getProduktID(), Erfuellung: ((Nutzwert)standard_objekt[0]).getErfuellung(), Gewichtung: ((Nutzwert)projekt_objekt[0]).getGewichtung(), Abstufung: ((Nutzwert)projekt_objekt[0]).getAbstufung()))); } } /* Wenn kein Standard-NWA-Model gefunden wurde, wird dieses erzeugt und in der DB gespeichert, dies sollte im Normalfall nicht passieren */ } else if (return_list.Count == 0 && temp_obj.getProduktID() == 0 && temp_obj.getProjektID() == 0 && temp_obj.getKriteriumID() != 0) { Nutzwert standard_objekt = (Nutzwert)get(new Nutzwert(0, 0, 0))[0]; return_list.Add(insert(new Nutzwert(KriteriumID: temp_obj.getKriteriumID(), ProjektID: temp_obj.getProjektID(), ProduktID: temp_obj.getProduktID(), Erfuellung: standard_objekt.getErfuellung(), Gewichtung: standard_objekt.getGewichtung(), Abstufung: standard_objekt.getAbstufung()))); } else if (return_list.Count == 0) { throw new NotImplementedException(); } } else if (temp_obj.getProjektID() >= 0 && temp_obj.getProduktID() >= 0 && temp_obj.getKriteriumID() == -1) { DataTable temp_datatable = QuerySQL("SELECT * FROM NWA WHERE ProjektID = " + temp_obj.getProjektID() + " AND ProduktID = " + temp_obj.getProduktID() + ";"); foreach (DataRow row in temp_datatable.Rows) { Nutzwert temp_model = new Nutzwert(ProjektID: (int)row[0], KriteriumID: (int)row[1], ProduktID: (int)row[2], Erfuellung: (bool)row[3], Gewichtung: (int)row[4], Kommentar: (string)row[5], BeitragAbsolut: (double)row[6], BeitragAbsolutCheck: (bool)row[7], Abstufung: (double)row[8]); return_list.Add(temp_model); } } else if (temp_obj.getProjektID() >= 0 && temp_obj.getProduktID() == -1 && temp_obj.getKriteriumID() == -1) { DataTable temp_datatable = QuerySQL("SELECT * FROM NWA WHERE ProjektID = " + temp_obj.getProjektID() + ";"); foreach (DataRow row in temp_datatable.Rows) { Nutzwert temp_model = new Nutzwert(ProjektID: (int)row[0], KriteriumID: (int)row[1], ProduktID: (int)row[2], Erfuellung: (bool)row[3], Gewichtung: (int)row[4], Kommentar: (string)row[5], BeitragAbsolut: (double)row[6], BeitragAbsolutCheck: (bool)row[7], Abstufung: (double)row[8]); return_list.Add(temp_model); } } else { throw new NotImplementedException(); } return(return_list); } else if (objekt.GetType().Name == "Produkt") { Produkt temp_obj = (Produkt)objekt; if (temp_obj.getProduktID() >= 0) { DataTable temp_datatable = QuerySQL("SELECT * FROM Produkt WHERE ProduktID = " + temp_obj.getProduktID() + ";"); foreach (DataRow row in temp_datatable.Rows) { Produkt temp_model = new Produkt(); temp_model.setProduktID((int)row[0]); temp_model.setBezeichnung((string)row[1]); return_list.Add(temp_model); } } else { DataTable temp_datatable = QuerySQL("SELECT * FROM Produkt;"); foreach (DataRow row in temp_datatable.Rows) { Produkt temp_model = new Produkt(); temp_model.setProduktID((int)row[0]); temp_model.setBezeichnung((string)row[1]); return_list.Add(temp_model); } } return(return_list); } else if (objekt.GetType().Name == "Projekt") { Projekt temp_obj = (Projekt)objekt; if (temp_obj.getProjektID() > 0) { DataTable temp_datatable = QuerySQL("SELECT * FROM Projekt WHERE ProjektID = " + temp_obj.getProjektID() + ";"); foreach (DataRow row in temp_datatable.Rows) { Projekt temp_model = new Projekt(); temp_model.setProjektID((int)row[0]); temp_model.setBezeichnung((string)row[1]); return_list.Add(temp_model); } } else { DataTable temp_datatable = QuerySQL("SELECT * FROM Projekt;"); foreach (DataRow row in temp_datatable.Rows) { Projekt temp_model = new Projekt(); temp_model.setProjektID((int)row[0]); temp_model.setBezeichnung((string)row[1]); return_list.Add(temp_model); } } return(return_list); } else if (objekt.GetType().Name == "Kriteriumstruktur") { Kriteriumstruktur temp_obj = (Kriteriumstruktur)objekt; DataTable temp_datatable; if (temp_obj.getUnterKriteriumID() == -1 && temp_obj.getOberKriteriumID() == -1) { temp_datatable = QuerySQL("SELECT * FROM Kriteriumstruktur;"); foreach (DataRow row in temp_datatable.Rows) { Kriteriumstruktur temp_model = new Kriteriumstruktur(); temp_model.setOberKriteriumID((int)row[0]); temp_model.setUnterKriteriumID((int)row[1]); return_list.Add(temp_model); } } else if (temp_obj.getOberKriteriumID() >= 0 && temp_obj.getUnterKriteriumID() == -1) { temp_datatable = QuerySQL("SELECT * FROM Kriteriumstruktur WHERE OberKriteriumID = " + temp_obj.getOberKriteriumID() + ";"); foreach (DataRow row in temp_datatable.Rows) { Kriteriumstruktur temp_model = new Kriteriumstruktur(); temp_model.setOberKriteriumID((int)row[0]); temp_model.setUnterKriteriumID((int)row[1]); return_list.Add(temp_model); } } else if (temp_obj.getUnterKriteriumID() >= 0 && temp_obj.getOberKriteriumID() == -1) { temp_datatable = QuerySQL("SELECT * FROM Kriteriumstruktur WHERE UnterKriteriumID = " + temp_obj.getUnterKriteriumID() + ";"); foreach (DataRow row in temp_datatable.Rows) { Kriteriumstruktur temp_model = new Kriteriumstruktur(); temp_model.setOberKriteriumID((int)row[0]); temp_model.setUnterKriteriumID((int)row[1]); return_list.Add(temp_model); } } else if (temp_obj.getUnterKriteriumID() != -1 && temp_obj.getOberKriteriumID() != -1) { temp_datatable = QuerySQL("SELECT * FROM Kriteriumstruktur WHERE UnterKriteriumID = " + temp_obj.getUnterKriteriumID() + " AND OberKriteriumID = " + temp_obj.getOberKriteriumID() + ";"); foreach (DataRow row in temp_datatable.Rows) { Kriteriumstruktur temp_model = new Kriteriumstruktur(); temp_model.setOberKriteriumID((int)row[0]); temp_model.setUnterKriteriumID((int)row[1]); return_list.Add(temp_model); } } return(return_list); } throw new NotImplementedException(); }
private void produktaendern_Click(object sender, RoutedEventArgs e) { Produkt.setProduktIDtemp(details_ProduktID.Text); Projekt.setBezeichnungtemp(details_Bezeichnung.Text); cntrl.aendern(); }
abstract public List <Kriteriumstruktur> get(Kriteriumstruktur objekt); /* hole z.B. Namen/ID aus Model und suche danach in der Datenbank, gebe das vollständige Model zurück */ abstract public List <Projekt> get(Projekt objekt); /* hole z.B. Namen/ID aus Model und suche danach in der Datenbank, gebe das vollständige Model zurück */
public override void exp(Model objekt, DatabaseAdapter db, bool savetofile) { if (objekt == null || ((Projekt)objekt).getProjektID() <= 0) { throw new Exception("ID darf bei delete nicht <= 0 sein"); } if (objekt.GetType().Name == "Projekt") { Projekt temp_objekt = (Projekt)objekt; if (get(temp_objekt).Count == 0) { ExecuteSQL("INSERT INTO Projekt (ProjektID, Bezeichnung) VALUES ( " + temp_objekt.getProjektID() + ", '" + temp_objekt.getBezeichnung() + "');"); } Nutzwert tempnutz_obj = new Nutzwert(ProjektID: temp_objekt.getProjektID(), KriteriumID: -1, ProduktID: -1); List <Nutzwert> tempnutz_list = db.get(tempnutz_obj); foreach (Nutzwert nutz_obj in tempnutz_list) { if (get(nutz_obj).Count == 0) { ExecuteSQL("INSERT INTO NWA (KriteriumID, ProjektID, ProduktID, Erfuellung, Gewichtung, Kommentar, beitrag_absolut, beitrag_absolut_check, abstufung) VALUES ( " + nutz_obj.getKriteriumID() + ", " + nutz_obj.getProjektID() + " , " + nutz_obj.getProduktID() + ", " + nutz_obj.getErfuellung() + ", " + nutz_obj.getGewichtung() + ", '" + nutz_obj.getKommentar() + "', " + nutz_obj.getBeitragAbsolut().ToString().Replace(",", ".") + ", " + nutz_obj.getBeitragAbsolutCheck() + ", " + nutz_obj.getAbstufung().ToString().Replace(",", ".") + ");"); } Produkt tempprod_obj = new Produkt(nutz_obj.getProduktID()); List <Produkt> tempprod_list = db.get(tempprod_obj); foreach (Produkt prod_obj in tempprod_list) { if (get(prod_obj).Count == 0) { ExecuteSQL("INSERT INTO Produkt (ProduktID, Bezeichnung) VALUES ( " + prod_obj.getProduktID() + ", '" + prod_obj.getBezeichnung() + "');"); } } Kriterium tempkrit_obj = new Kriterium(nutz_obj.getKriteriumID()); List <Kriterium> tempkrit_list = db.get(tempkrit_obj); foreach (Kriterium krit_obj in tempkrit_list) { if (get(krit_obj).Count == 0) { ExecuteSQL("INSERT INTO Kriterium (KriteriumID, Bezeichnung) VALUES ( " + krit_obj.getKriteriumID() + ", '" + krit_obj.getBezeichnung() + "');"); } Kriteriumstruktur tempkritstrk_obj = new Kriteriumstruktur(krit_obj.getKriteriumID()); List <Kriteriumstruktur> tempkritstrk_list = db.get(tempkritstrk_obj); foreach (Kriteriumstruktur kritstrk_obj in tempkritstrk_list) { if (get(kritstrk_obj).Count == 0) { ExecuteSQL("INSERT INTO Kriteriumstruktur (OberKriteriumID, UnterKriteriumID) VALUES ( " + kritstrk_obj.getOberKriteriumID() + ", '" + kritstrk_obj.getUnterKriteriumID() + "');"); } } } } if (savetofile) { System.Windows.Forms.SaveFileDialog openFileDialog1 = new System.Windows.Forms.SaveFileDialog(); // OK button was pressed. string file = ""; openFileDialog1.Filter = "SQL file|*.sql"; openFileDialog1.Title = "Save an sql File"; while (file == "") { openFileDialog1.ShowDialog(); file = openFileDialog1.FileName; } using (MySqlCommand cmd = new MySqlCommand()) { using (MySqlBackup mb = new MySqlBackup(cmd)) { cmd.Connection = conn; conn.Open(); mb.ExportToFile(file); conn.Close(); } } } } else { throw new NotImplementedException(); } }