//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(); }
//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(); }