//Mit der aendern Funktion ist es möglich die Bezeichnung eines zuvor eingefügten Kriteriums zu verändern public override void aendern() { if (frm.GetType().Name == "Kriteriumverwaltung") { Kriteriumverwaltung krit = (Kriteriumverwaltung)frm; if (krit.details_ID.Text != "") { if (MessageBox.Show("Sind Sie sich sicher, dass sie das ausgewählte Kriterium ändern wollen?", "Ändern", MessageBoxButton.YesNo, MessageBoxImage.Warning) == MessageBoxResult.Yes) { Kriterium temp_objekt = new Kriterium(); temp_objekt.setKriteriumID(Int32.Parse(krit.details_ID.Text)); temp_objekt.setBezeichnung(krit.details_Bezeichnung.Text); db.update(temp_objekt); onUpdateData(); } } return; } //in der KriterumNutzwerVerwaltung können die dazugehörigen Daten eines Kriteriums(Erfuellung/Gewichtung/etc.) verändert werden else if (frm.GetType().Name == "KriteriumNutzwertVerwaltung") { if (MessageBox.Show("Sind Sie sich sicher, dass sie das ausgewählte KriteriumNutzwert ändern wollen?", "Ändern", MessageBoxButton.YesNo, MessageBoxImage.Warning) == MessageBoxResult.Yes) { KriteriumNutzwertVerwaltung krit = (KriteriumNutzwertVerwaltung)frm; // first change details for NWA specific for Produkt AND Projekt (e.g. Erfüllung) Nutzwert temp_objekt = new Nutzwert(KriteriumID: krit.details_KriteriumID.Text, ProjektID: krit.details_ProjektID.Text, ProduktID: krit.details_ProduktID.Text, Erfuellung: krit.details_Erfuellung.IsChecked.ToString(), Gewichtung: krit.details_Gewichtung.Text, Kommentar: krit.details_kommentar.Text, Abstufung: krit.details_Abstufung.Text); db.update(temp_objekt); // second change details for NWA specific for Projekt (e.g. Gewichtung) temp_objekt = new Nutzwert(KriteriumID: krit.details_KriteriumID.Text, ProjektID: krit.details_ProjektID.Text, ProduktID: "-1", Erfuellung: krit.details_Erfuellung.IsChecked.ToString(), Gewichtung: krit.details_Gewichtung.Text, Kommentar: krit.details_kommentar.Text, Abstufung: krit.details_Abstufung.Text); db.update(temp_objekt); // finished krit.Close(); } 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(); }