/* * 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"); } } }
//mit der anziegen Funktion werden die Daten der Kriterien in die dafürvorgesehenen Felder eingetragen public override void anzeigen(Model objekt) { if (objekt == null) { return; } if (frm.GetType().Name == "Kriteriumverwaltung") { Kriteriumverwaltung krit = (Kriteriumverwaltung)frm; if (objekt.GetType().Name == "Kriterium") { Kriterium temp_objekt = (Kriterium)objekt; krit.details_ID.Text = temp_objekt.getKriteriumID().ToString(); krit.details_Bezeichnung.Text = temp_objekt.getBezeichnung(); krit.kriterium_aendern.IsEnabled = true; krit.kriterium_loeschen.IsEnabled = true; krit.details_Bezeichnung.IsEnabled = true; onUpdateData(); return; } throw new NotImplementedException(); } else if (frm.GetType().Name == "Kriteriumstrukturverwaltung") { Kriteriumstrukturverwaltung krit = (Kriteriumstrukturverwaltung)frm; if (objekt.GetType().Name == "Kriterium") { Kriterium temp_objekt = (Kriterium)objekt; krit.details_ID.Text = temp_objekt.getKriteriumID().ToString(); krit.details_Bezeichnung.Text = temp_objekt.getBezeichnung(); krit.details_ProduktID.Text = "0"; // auto set krit.details_ProjektID.Text = "0"; // auto set krit.details_Kriterium.IsEnabled = true; krit.listeUnterKriterium.IsEnabled = true; krit.listeUnterKriterium.ItemsSource = temp_objekt.getUnterKriterium(db); onUpdateData(); return; } throw new NotImplementedException(); } else if (frm.GetType().Name == "KriteriumNutzwertVerwaltung") { List <Nutzwert> temp_list = db.get((Nutzwert)objekt); if (temp_list.Count > 0) { Nutzwert temp_objekt = temp_list[0]; KriteriumNutzwertVerwaltung krit = (KriteriumNutzwertVerwaltung)frm; krit.details_ProjektID.Text = temp_objekt.getProjektID().ToString(); krit.details_ProduktID.Text = temp_objekt.getProduktID().ToString(); krit.details_KriteriumID.Text = temp_objekt.getKriteriumID().ToString(); krit.details_Erfuellung.IsChecked = temp_objekt.getErfuellung(); krit.details_Gewichtung.Text = temp_objekt.getGewichtung().ToString(); krit.details_kommentar.Text = temp_objekt.getKommentar(); krit.details_beitrag_absolut.Text = temp_objekt.getBeitragAbsolut().ToString(); krit.details_Abstufung.Text = temp_objekt.getAbstufung().ToString(); onUpdateData(); return; } else { throw new NotImplementedException(); } } else if (frm.GetType().Name == "KriteriumTree") { KriteriumTree krit = (KriteriumTree)frm; Kriterium temp_objekt = (Kriterium)objekt; Kriterium root_objekt = temp_objekt.getRootKriterium(db)[0]; krit.treeview.Items.Add(getTree(root_objekt)); onUpdateData(); return; } throw new NotImplementedException(); }
/* * 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]); }