Ejemplo n.º 1
0
        //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();
        }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
0
 //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();
 }
Ejemplo n.º 4
0
        //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();
        }
Ejemplo n.º 5
0
        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++;
            }
        }