//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(); }
public void BuildDataTable(bool erfuellung, bool anforderungen, bool gewichtung, bool nutzwert, bool prozent, int ProjektID, int[] ProduktID, DatabaseAdapter db, bool produkte) { dt = new DataGridView(); dt.ColumnCount = 1; dt.Columns[dt.ColumnCount - 1].Name = CONST_NUM; dt.Columns[dt.ColumnCount - 1].Width = 50; dt.ColumnCount += 1; dt.Columns[dt.ColumnCount - 1].Name = CONST_BEZ; dt.Columns[dt.ColumnCount - 1].Width = 300; if (gewichtung) { dt.ColumnCount += 1; dt.Columns[dt.ColumnCount - 1].Name = CONST_GEW; dt.Columns[dt.ColumnCount - 1].Width = 50; } if (anforderungen) { dt.ColumnCount += 1; dt.Columns[dt.ColumnCount - 1].Name = CONST_ANF; dt.Columns[dt.ColumnCount - 1].Width = 50; } Produkt temp_produkt = new Produkt(ProduktID[0]); ControllerNutzwert cntrl_nutzwer = new ControllerNutzwert(db, null); if (produkte) { foreach (int produkt in ProduktID) { temp_produkt = db.get(new Produkt(produkt))[0]; dt.ColumnCount += 1; string column_name = temp_produkt.getBezeichnung(); if (temp_produkt.getBezeichnung().Length > CONST_PROD_LENGTH) { column_name = column_name.Substring(0, CONST_PROD_LENGTH); } dt.Columns[dt.ColumnCount - 1].Name = column_name; } } dt.ColumnCount += 1; dt.Columns[dt.ColumnCount - 1].Name = CONST_KOM; dt.Columns[dt.ColumnCount - 1].Width = 300; Nutzwert temp_nwa = db.get(new Nutzwert(KriteriumID: 1, ProjektID: ProjektID, ProduktID: temp_produkt.getProduktID()))[0]; Kriterium root_kriterium = temp_nwa.getKriterium(db).getRootKriterium(db)[0]; if (root_kriterium.getErfuellung(db: db, ProjektID: ProjektID, ProduktID: temp_produkt.getProduktID()) == true || anforderungen == false) { if (prozent) { dt.ColumnCount += 1; dt.Columns[dt.ColumnCount - 1].Name = CONST_PROZ; dt.Columns[dt.ColumnCount - 1].Width = 50; } } int row = dt.Rows.Add(); dt.Rows[row].Cells[CONST_NUM].Value = "0"; dt.Rows[row].Cells[CONST_BEZ].Value = root_kriterium.getBezeichnung(); dt.Rows[row].Cells[CONST_KOM].Value = root_kriterium.getNutzwert(db, ProjektID, temp_produkt.getProduktID()).getKommentar(); if (anforderungen) { if (root_kriterium.getNutzwert(db, 0, 0).getGewichtung() == 0) { dt.Rows[row].Cells[CONST_ANF].Value = "-"; } else { dt.Rows[row].Cells[CONST_ANF].Value = "X"; } } if (produkte) { foreach (int produkt in ProduktID) { temp_produkt = db.get(new Produkt(produkt))[0]; string column_name = temp_produkt.getBezeichnung(); if (temp_produkt.getBezeichnung().Length > CONST_PROD_LENGTH) { column_name = column_name.Substring(0, CONST_PROD_LENGTH); } if (erfuellung == false) { cntrl_nutzwer.funktionsabdeckungsgrad_berechnen(root_kriterium.getNutzwert(db, ProjektID, temp_produkt.getProduktID())); } if (anforderungen == true) { dt.Rows[row].Cells[column_name].Value = root_kriterium.getNutzwert(db, ProjektID, temp_produkt.getProduktID()).getErfuellung(); } else { dt.Rows[row].Cells[column_name].Value = root_kriterium.getNutzwert(db, ProjektID, temp_produkt.getProduktID()).getBeitragAbsolut(); } if (erfuellung) { if (root_kriterium.getGewichtung(db: db, ProjektID: ProjektID, ProduktID: temp_produkt.getProduktID()) > 0) { dt.Rows[row].Cells[column_name].Value = "X"; } else { dt.Rows[row].Cells[column_name].Value = "-"; } } else { dt.Rows[row].Cells[column_name].Value = root_kriterium.getNutzwert(db, ProjektID, temp_produkt.getProduktID()).getBeitragAbsolut(); } } } if (root_kriterium.getGewichtung(db: db, ProjektID: ProjektID, ProduktID: temp_produkt.getProduktID()) > 0 || anforderungen == false) { if (gewichtung) { dt.Rows[row].Cells[CONST_GEW].Value = root_kriterium.getGewichtung(db, ProjektID, temp_produkt.getProduktID()); } if (prozent) { dt.Rows[row].Cells[CONST_PROZ].Value = cntrl_nutzwer.prozent(root_kriterium.getNutzwert(db: db, ProjektID: ProjektID, ProduktID: temp_produkt.getProduktID())); } } addtorow(root_kriterium, erfuellung, anforderungen, gewichtung, nutzwert, prozent, ProjektID, ProduktID, db, cntrl_nutzwer, "0", produkte); }
/* * 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"); } } }
public Kriterium(Kriterium objekt) { setKriteriumID(objekt.getKriteriumID()); setBezeichnung(objekt.getBezeichnung()); }
/* * 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]); }