private void pobierzKryteriaDlaCelu(int idCelu) { Dictionary <int, String> listaKryteriow = KryteriumController.pobierzListeNazwKryteriow(idCelu); List <Wynik> listaWynikow = new List <Wynik>(); DataTable dt = stworzStruktureWag(); foreach (KeyValuePair <int, String> kryterium in listaKryteriow) { listaWynikow.AddRange(WynikController.pobierzWynikiCelu(kryterium.Key)); } int lp = 1; foreach (Wynik w in listaWynikow) { DataRow dr = dt.NewRow(); dr["Lp"] = lp; dr["Kryterium"] = listaKryteriow[w.Kryterium1]; dr["Względem"] = listaKryteriow[w.Kryterium2]; dr["Waga"] = w.Waga; dt.Rows.Add(dr); lp++; } wagiDataGridView.DataSource = dt; }
private void wynikButton_Click(object sender, EventArgs e) { List <Wynik> listaWynikow = WynikController.pobierzWynikiCelu(idCelu); List <Kryterium> listaWariantow = KryteriumController.pobierzListeWariantow(idCelu); Dictionary <int, decimal> listaWagWariantow = new Dictionary <int, decimal>(); foreach (Kryterium kryteriumWariant in listaWariantow) { decimal waga = 0; decimal wagaMnozona = 1; List <Wynik> listaWagWariantu = listaWynikow.Where(w => w.Kryterium1 == kryteriumWariant.ID).Select(w => new Wynik { ID = w.ID, KryteriumGlowne = w.KryteriumGlowne, Kryterium1 = w.Kryterium1, Kryterium2 = w.Kryterium2, Waga = w.Waga }).ToList(); List <Wynik> listaPosortowana = listaWagWariantu.OrderByDescending(o => o.ID).ThenByDescending(o => o.Kryterium1).ToList(); foreach (Wynik w in listaPosortowana.OrderByDescending(o => o.Kryterium2)) { wagaMnozona = Convert.ToDecimal(w.Waga); int idKryterium2 = w.Kryterium2; do { Wynik wynikOjca = pobierzWage(idKryterium2, listaWynikow); if (null != wynikOjca) { wagaMnozona = wagaMnozona * Convert.ToDecimal(wynikOjca.Waga); idKryterium2 = wynikOjca.Kryterium2; } else { break; } } while (idKryterium2 != idCelu); waga = waga + wagaMnozona; } listaWagWariantow.Add(kryteriumWariant.ID, waga); } WynikPanel wynikPanel = new WynikPanel(listaWagWariantow, idCelu, MAKSYMALNA_WAGA, buttonMenu); mainForm.Controls.Add(wynikPanel); wynikPanel.Visible = true; buttonMenu.setWynikPanel(wynikPanel); buttonMenu.setAktualnyPanel(wynikPanel); buttonMenu.setControlEnable(buttonMenu.getButton("Dalej"), false); buttonMenu.setControlEnable(buttonMenu.getButton("Dodaj"), false); buttonMenu.setControlEnable(buttonMenu.getButton("Usuń"), false); Visible = false; }