//Die onUpdateData-Funktion ermöglicht eine Aktualiseriung der angezeigten Information public override void onUpdateData() { if (frm.GetType().Name == "Kriteriumverwaltung") { Kriteriumverwaltung krit = (Kriteriumverwaltung)frm; int temp_int_proj = krit.listeProjektID.SelectedIndex; int temp_int_prod = krit.listeProduktID.SelectedIndex; List <Kriterium> kriterien = db.get(new Kriterium(-1)); // alle Kriterien krit.listeKriterium.ItemsSource = kriterien; List <Projekt> projekte = db.get(new Projekt(-1)); // alle Projekte krit.listeProjektID.ItemsSource = projekte; List <Produkt> produkte = db.get(new Produkt(-1)); // alle Produkte krit.listeProduktID.ItemsSource = produkte; krit.listeProjektID.SelectedIndex = temp_int_proj; krit.listeProduktID.SelectedIndex = temp_int_prod; onUpdateView(); return; } else if (frm.GetType().Name == "Kriteriumstrukturverwaltung") { Kriteriumstrukturverwaltung krit = (Kriteriumstrukturverwaltung)frm; List <Kriterium> kriterien = db.get(new Kriterium()); // alle Kriterien krit.details_Kriterium.ItemsSource = kriterien; if (krit.details_ID.Text != "") { Kriterium temp_objekt = new Kriterium(); temp_objekt.setKriteriumID(Int32.Parse(krit.details_ID.Text)); krit.listeWurzelKriterium.ItemsSource = temp_objekt.getRootKriterium(db); krit.listeUnterKriterium.ItemsSource = temp_objekt.getUnterKriterium(db); krit.listeOberKriterium.ItemsSource = temp_objekt.getOberKriterium(db); } onUpdateView(); return; } else if (frm.GetType().Name == "KriteriumNutzwertVerwaltung") { onUpdateView(); return; } else if (frm.GetType().Name == "KriteriumTree") { onUpdateView(); return; } throw new NotImplementedException(); }
private TreeViewItem getTree(Kriterium objekt) { List <Kriterium> unterkriterien = objekt.getUnterKriterium(db); TreeViewItem tree = new TreeViewItem(); List <TreeViewItem> branch = new List <TreeViewItem>(); TreeViewItem temp_item = new TreeViewItem(); foreach (Kriterium temp_objekt in unterkriterien) { tree.Header = objekt.ToString(); branch.Add(getTree(temp_objekt)); } if (unterkriterien.Count == 0) { tree.Header = objekt.ToString(); } tree.ItemsSource = branch; return(tree); }
//Sofern ein Kriterium ausgewählt wurde, wird es mit der Funktion gelöscht, wobei nochmals eine Textbox erscheint und um eine Bestätigung bittet public override void loeschen(Model objekt) { if (objekt == null) { return; } if (frm.GetType().Name == "Kriteriumverwaltung") { Kriteriumverwaltung krit = (Kriteriumverwaltung)frm; if (MessageBox.Show("Sind Sie sich sicher, dass sie das ausgewählte Kriterium löschen wollen?", "Löschen", MessageBoxButton.YesNo, MessageBoxImage.Warning) == MessageBoxResult.Yes) { Kriterium temp_objekt = (Kriterium)objekt; if (temp_objekt.getUnterKriterium(db).Count > 0) { MessageBox.Show("Sie können das Kriterium nicht löschen, solange es ein UnterKriterium besitzt. Gehen Sie in die Strukturverwaltung und löschen Sie alle UnterKriterien.", "Löschen", MessageBoxButton.OK, MessageBoxImage.Warning); } else if (temp_objekt.getOberKriterium(db).Count > 0) { MessageBox.Show("Sie können das Kriterium nicht löschen, solange es ein OberKriterium besitzt. Gehen Sie in die Strukturverwaltung des OberKriteriums und löschen Sie das Kriterium aus der UnterKriterium-Liste.", "Löschen", MessageBoxButton.OK, MessageBoxImage.Warning); } else { db.delete(objekt); krit.kriterium_aendern.IsEnabled = false; krit.kriterium_loeschen.IsEnabled = false; krit.details_Bezeichnung.IsEnabled = false; krit.details_Bezeichnung.Text = ""; krit.details_ID.Text = ""; onUpdateData(); } } return; } else if (frm.GetType().Name == "Kriteriumstrukturverwaltung") { Kriteriumstrukturverwaltung krit = (Kriteriumstrukturverwaltung)frm; if (MessageBox.Show("Sind Sie sich sicher, dass sie das ausgewählte Kriterium löschen wollen?", "Löschen", MessageBoxButton.YesNo, MessageBoxImage.Warning) == MessageBoxResult.Yes) { db.delete(objekt); krit.details_Kriterium.IsEnabled = false; krit.details_Bezeichnung.IsEnabled = false; krit.listeUnterKriterium.IsEnabled = false; krit.untkrit_hinzufuegen.IsEnabled = false; krit.untkrit_loeschen.IsEnabled = false; krit.details_Bezeichnung.Text = ""; krit.details_ID.Text = ""; krit.details_ProduktID.Text = ""; krit.details_ProjektID.Text = ""; onUpdateData(); } return; } else if (frm.GetType().Name == "KriteriumNutzwertVerwaltung") { KriteriumNutzwertVerwaltung krit = (KriteriumNutzwertVerwaltung)frm; if (MessageBox.Show("Sind Sie sich sicher, dass sie das ausgewählte Nutzwert löschen wollen?", "Löschen", MessageBoxButton.YesNo, MessageBoxImage.Warning) == MessageBoxResult.Yes) { db.delete(objekt); krit.Close(); } return; } throw new NotImplementedException(); }
//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(); }
private void addtorow(Kriterium temp_objekt, bool erfuellung, bool anforderungen, bool gewichtung, bool nutzwert, bool prozent, int ProjektID, int[] ProduktID, DatabaseAdapter db, ControllerNutzwert cntrl_nutzwer, string count, bool produkte) { int internal_count = 1; foreach (Kriterium temp_kriterium in temp_objekt.getUnterKriterium(db)) { int row = dt.Rows.Add(); dt.Rows[row].Cells[CONST_NUM].Value = count + "." + internal_count; dt.Rows[row].Cells[CONST_BEZ].Value = temp_kriterium.getBezeichnung(); dt.Rows[row].Cells[CONST_KOM].Value = temp_kriterium.getNutzwert(db: db, ProjektID: 0, ProduktID: 0).getKommentar(); Produkt temp_produkt = new Produkt(ProduktID[0]); 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); } dt.ColumnCount += 1; if (temp_kriterium.getGewichtung(db, ProjektID: 0, ProduktID: 0) > 0 || anforderungen == true) { if (erfuellung == true) { if (temp_kriterium.getErfuellung(db: db, ProjektID: ProjektID, ProduktID: produkt) == true) { dt.Rows[row].Cells[column_name].Value = "X"; } else { dt.Rows[row].Cells[column_name].Value = "-"; } } else { dt.Rows[row].Cells[column_name].Value = temp_kriterium.getNutzwert(db, ProjektID, temp_produkt.getProduktID()).getBeitragAbsolut(); } } } } if (anforderungen) { if (temp_kriterium.getGewichtung(db, ProjektID, temp_produkt.getProduktID()) > 0) { dt.Rows[row].Cells[CONST_ANF].Value = "X"; } else { dt.Rows[row].Cells[CONST_ANF].Value = "-"; } } if (temp_kriterium.getGewichtung(db, ProjektID, temp_produkt.getProduktID()) > 0 || anforderungen == false) { if (gewichtung) { dt.Rows[row].Cells[CONST_GEW].Value = temp_kriterium.getGewichtung(db, ProjektID, temp_produkt.getProduktID()); } if (prozent) { dt.Rows[row].Cells[CONST_PROZ].Value = cntrl_nutzwer.prozent(temp_kriterium.getNutzwert(db: db, ProjektID: ProjektID, ProduktID: temp_produkt.getProduktID())); } } addtorow(temp_kriterium, erfuellung, anforderungen, gewichtung, nutzwert, prozent, ProjektID, ProduktID, db, cntrl_nutzwer, count + "." + internal_count, produkte); internal_count++; } }