Esempio n. 1
0
        public List <Kriterium> getUnterKriterium(DatabaseAdapter db)
        {
            Kriteriumstruktur temp_objekt = new Kriteriumstruktur(OberKriteriumID: this.getKriteriumID(), UnterKriteriumID: -1);
            List <Kriterium>  return_list = new List <Kriterium>();
            Kriterium         temp_krit;

            foreach (Kriteriumstruktur temp_kritstruktur in db.get(temp_objekt))
            {
                temp_krit = new Kriterium(temp_kritstruktur.getUnterKriteriumID());
                foreach (Kriterium temp_krit2 in db.get(temp_krit))
                {
                    return_list.Add(temp_krit2);
                }
            }
            return(return_list);
        }
Esempio n. 2
0
        public Nutzwert getNutzwert(DatabaseAdapter db, int ProjektID = 0, int ProduktID = 0)
        {
            List <Nutzwert> temp_list = db.get(new Nutzwert(KriteriumID: getKriteriumID(), ProjektID: ProjektID, ProduktID: ProduktID));

            if (temp_list.Count > 1 || temp_list.Count < 1)
            {
                throw new NotImplementedException();
            }
            return(temp_list[0]);
        }
Esempio n. 3
0
        public Kriterium getKriterium(DatabaseAdapter db)
        {
            Kriterium        temp_kriterium = new Kriterium(ID: getKriteriumID());
            List <Kriterium> temp_list      = db.get(temp_kriterium);

            if (temp_list.Count > 1 || temp_list.Count < 1)
            {
            }
            return(temp_list[0]);
        }
Esempio n. 4
0
        public void removeUnterKriterium(Kriterium objekt, DatabaseAdapter db)
        {
            if (objekt == null)
            {
                return;
            }
            Kriteriumstruktur temp_objekt = new Kriteriumstruktur(this.KriteriumID, objekt.getKriteriumID());

            if (db.get(temp_objekt).Count() > 0)
            {
                db.delete(temp_objekt);
            }
        }
Esempio n. 5
0
        public void addUnterKriterium(Kriterium objekt, DatabaseAdapter db)
        {
            if (objekt == null)
            {
                return;
            }
            Kriteriumstruktur temp_objekt = new Kriteriumstruktur(this.KriteriumID, objekt.getKriteriumID());

            if (db.get(temp_objekt).Count() == 0)
            {
                db.insert(temp_objekt);
            }
        }
Esempio n. 6
0
        public List <Kriterium> getOberKriterium(DatabaseAdapter db)
        {
            Kriteriumstruktur temp_objekt = new Kriteriumstruktur(UnterKriteriumID: this.getKriteriumID(), OberKriteriumID: -1);
            List <Kriterium>  return_list = new List <Kriterium>();
            Kriterium         temp_krit;

            foreach (Kriteriumstruktur temp_kritstruktur in db.get(temp_objekt))
            {
                temp_krit = new Kriterium(temp_kritstruktur.getOberKriteriumID());
                foreach (Kriterium temp_krit2 in db.get(temp_krit))
                {
                    return_list.Add(temp_krit2);
                }
            }

            if (return_list.Count > 1)
            {
                throw new NotImplementedException();
            }
            else
            {
                return(return_list);
            }
        }
Esempio n. 7
0
        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);
        }
Esempio n. 8
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++;
            }
        }
Esempio n. 9
0
        public override void exp(Model objekt, DatabaseAdapter db, bool savetofile)
        {
            if (objekt == null || ((Projekt)objekt).getProjektID() <= 0)
            {
                throw new Exception("ID darf bei delete nicht  <= 0 sein");
            }
            if (objekt.GetType().Name == "Projekt")
            {
                Projekt temp_objekt = (Projekt)objekt;
                if (get(temp_objekt).Count == 0)
                {
                    ExecuteSQL("INSERT INTO Projekt (ProjektID, Bezeichnung) VALUES ( " + temp_objekt.getProjektID() + ", '" + temp_objekt.getBezeichnung() + "');");
                }
                Nutzwert        tempnutz_obj  = new Nutzwert(ProjektID: temp_objekt.getProjektID(), KriteriumID: -1, ProduktID: -1);
                List <Nutzwert> tempnutz_list = db.get(tempnutz_obj);
                foreach (Nutzwert nutz_obj in tempnutz_list)
                {
                    if (get(nutz_obj).Count == 0)
                    {
                        ExecuteSQL("INSERT INTO NWA (KriteriumID, ProjektID, ProduktID, Erfuellung, Gewichtung, Kommentar, beitrag_absolut, beitrag_absolut_check, abstufung) VALUES ( " + nutz_obj.getKriteriumID() + ", " + nutz_obj.getProjektID() + " , " + nutz_obj.getProduktID() + ", " + nutz_obj.getErfuellung() + ", " + nutz_obj.getGewichtung() + ", '" + nutz_obj.getKommentar() + "', " + nutz_obj.getBeitragAbsolut().ToString().Replace(",", ".") + ", " + nutz_obj.getBeitragAbsolutCheck() + ", " + nutz_obj.getAbstufung().ToString().Replace(",", ".") + ");");
                    }
                    Produkt        tempprod_obj  = new Produkt(nutz_obj.getProduktID());
                    List <Produkt> tempprod_list = db.get(tempprod_obj);
                    foreach (Produkt prod_obj in tempprod_list)
                    {
                        if (get(prod_obj).Count == 0)
                        {
                            ExecuteSQL("INSERT INTO Produkt (ProduktID, Bezeichnung) VALUES ( " + prod_obj.getProduktID() + ", '" + prod_obj.getBezeichnung() + "');");
                        }
                    }

                    Kriterium        tempkrit_obj  = new Kriterium(nutz_obj.getKriteriumID());
                    List <Kriterium> tempkrit_list = db.get(tempkrit_obj);
                    foreach (Kriterium krit_obj in tempkrit_list)
                    {
                        if (get(krit_obj).Count == 0)
                        {
                            ExecuteSQL("INSERT INTO Kriterium (KriteriumID, Bezeichnung) VALUES ( " + krit_obj.getKriteriumID() + ", '" + krit_obj.getBezeichnung() + "');");
                        }
                        Kriteriumstruktur        tempkritstrk_obj  = new Kriteriumstruktur(krit_obj.getKriteriumID());
                        List <Kriteriumstruktur> tempkritstrk_list = db.get(tempkritstrk_obj);
                        foreach (Kriteriumstruktur kritstrk_obj in tempkritstrk_list)
                        {
                            if (get(kritstrk_obj).Count == 0)
                            {
                                ExecuteSQL("INSERT INTO Kriteriumstruktur (OberKriteriumID, UnterKriteriumID) VALUES ( " + kritstrk_obj.getOberKriteriumID() + ", '" + kritstrk_obj.getUnterKriteriumID() + "');");
                            }
                        }
                    }
                }


                if (savetofile)
                {
                    System.Windows.Forms.SaveFileDialog openFileDialog1 = new System.Windows.Forms.SaveFileDialog();

                    // OK button was pressed.
                    string file = "";
                    openFileDialog1.Filter = "SQL file|*.sql";
                    openFileDialog1.Title  = "Save an sql File";
                    while (file == "")
                    {
                        openFileDialog1.ShowDialog();
                        file = openFileDialog1.FileName;
                    }

                    using (MySqlCommand cmd = new MySqlCommand())
                    {
                        using (MySqlBackup mb = new MySqlBackup(cmd))
                        {
                            cmd.Connection = conn;
                            conn.Open();
                            mb.ExportToFile(file);
                            conn.Close();
                        }
                    }
                }
            }
            else
            {
                throw new NotImplementedException();
            }
        }