public void ChangeCriteriaComparisonFactor(int criteria1, int criteria2, double factor)
        {
            AHPEntities4       db = new AHPEntities4();
            UsporedbaKriterija usporedbaKriterija = db.UsporedbaKriterijas.Where(x => (x.kriterij1 == criteria1 && x.kriterij2 == criteria2)).SingleOrDefault();

            usporedbaKriterija.vrijednost = factor;

            int a = db.SaveChanges();
        }
Exemple #2
0
        public static Tuple <bool, List <double?> > CreateCriteriaMatrix(List <Kriterij> primljenaListaKriterija, List <UsporedbaKriterija> usporedbe)
        {
            int brojKriterija = primljenaListaKriterija.Count();

            double?[,] matricaKriterija = new double?[brojKriterija, brojKriterija];

            bool matricaPotpuna = true;


            for (int i = 0; i < primljenaListaKriterija.Count; i++)
            {
                Kriterij kriterij1 = new Kriterij();
                kriterij1 = primljenaListaKriterija[i];
                for (int j = 0; j < primljenaListaKriterija.Count; j++)
                {
                    if (i == j)
                    {
                        matricaKriterija[i, j] = 1;
                    }
                    else if (i < j)
                    {
                        Kriterij kriterij2 = new Kriterij();
                        kriterij2 = primljenaListaKriterija[j];
                        double?            vrijednost;
                        UsporedbaKriterija usp = usporedbe.Find(x => (x.kriterij1 == kriterij1.id && x.kriterij2 == kriterij2.id));
                        if (usp != null)
                        {
                            vrijednost             = usp.vrijednost;
                            matricaKriterija[j, i] = vrijednost;
                            matricaKriterija[i, j] = 1 / vrijednost;
                        }
                        else
                        {
                            matricaPotpuna = false;
                            break;
                        }
                    }
                }
            }

            Tuple <bool, List <double?> > konzistentnostIVrijednostiKriterija = null;

            if (matricaPotpuna)
            {
                konzistentnostIVrijednostiKriterija = CheckConsistencyAndGetValues(matricaKriterija);
            }
            else
            {
                konzistentnostIVrijednostiKriterija = new Tuple <bool, List <double?> >(false, null);
            }


            return(konzistentnostIVrijednostiKriterija);
        }