public NutzwertVerwaltung(DatabaseAdapter db)
 {
     InitializeComponent();
     cntrl = new ControllerNutzwert(db, this);
     //cntrl.onCreateView();
     cntrl.onUpdateData();
 }
Пример #2
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);
        }
Пример #3
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++;
            }
        }