Esempio n. 1
0
        //Hauptfunktion der Nutzwertanalyse, die in die anderen Funktionen verzweigt
        public void funktionsabdeckungsgrad_berechnen(Nutzwert NWAobjekt)
        {
            NWAobjekt.setBeitragAbsolutCheck(false);
            db.update(NWAobjekt);
            List <Kriterium> list = NWAobjekt.getKriterium(db).getUnterKriterium(db);

            if (list.Count > 0)
            {
                foreach (Kriterium temp_obj in list)
                {
                    funktionsabdeckungsgrad_berechnen(temp_obj.getNutzwert(db: db, ProjektID: NWAobjekt.getProjektID(), ProduktID: NWAobjekt.getProduktID()));
                }
            }
            else
            {
                double temp_beitrag = funktionsabdeckungsgrad_beitrag(NWAobjekt);
                if (temp_beitrag != 0)
                {
                    double beitrag_absolut = funktionsabdeckungsgrad_beitrag_absolut(NWAobjekt.getKriterium(db).getOberKriterium(db)[0].getNutzwert(db, NWAobjekt.getProjektID(), NWAobjekt.getProduktID()), temp_beitrag);
                    NWAobjekt.setBeitragAbsolut(beitrag_absolut * NWAobjekt.getAbstufung());
                }
                else
                {
                    NWAobjekt.setBeitragAbsolut(0);
                }
                NWAobjekt.setBeitragAbsolutCheck(true);
                db.update(NWAobjekt);
                funktionsabdeckungsgrad_aufsummieren(NWAobjekt);
            }
        }
Esempio n. 2
0
        //Summiert die Ergebnisse aller Kriterien (Unterkriterium und Oberkriterium)
        private void funktionsabdeckungsgrad_aufsummieren(Nutzwert NWAobjekt)
        {
            bool   change       = funktionsabdeckungsgrad_aufsummieren_check(NWAobjekt);
            double temp_beitrag = 0;

            if (change == false)
            {
                List <Kriterium> list = NWAobjekt.getKriterium(db).getUnterKriterium(db);
                if (list.Count > 0)
                {
                    foreach (Kriterium temp in list)
                    {
                        temp_beitrag += temp.getNutzwert(db: db, ProjektID: NWAobjekt.getProjektID(), ProduktID: NWAobjekt.getProduktID()).getBeitragAbsolut() * NWAobjekt.getAbstufung();
                    }
                    NWAobjekt.setBeitragAbsolut(temp_beitrag);
                    NWAobjekt.setBeitragAbsolutCheck(true);
                    db.update(NWAobjekt);
                }
            }
            List <Kriterium> temp_oberkriterien = NWAobjekt.getKriterium(db).getOberKriterium(db);

            if (temp_oberkriterien.Count > 0)
            {
                funktionsabdeckungsgrad_aufsummieren(temp_oberkriterien[0].getNutzwert(db, NWAobjekt.getProjektID(), NWAobjekt.getProduktID()));
            }
        }