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(); }
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); }