public static DataTable stworzTabeleWag(int idCelu, int idKryterium, Dictionary <String, int> listaIdKryteriow) { DataTable tabelaWag = new DataTable(); List <Kryterium> listaPodkryteriow = KryteriumController.pobierzListePodkryteriow(idKryterium, idCelu); ExpertHelperDataContext db = new ExpertHelperDataContext(); Kryterium kryterium = KryteriumController.pobierzKryterium(idKryterium, db, false); if (listaPodkryteriow.Count > 0) { tabelaWag.Columns.Add(kryterium.Nazwa); listaPodkryteriow.ForEach(d => { tabelaWag.Columns.Add(d.Nazwa); tabelaWag.Rows.Add(d.Nazwa); }); } else { List <Kryterium> listaWariantow = KryteriumController.pobierzListeWariantow(idCelu); tabelaWag.Columns.Add(kryterium.Nazwa); listaWariantow.ForEach(w => { tabelaWag.Columns.Add(w.Nazwa); tabelaWag.Rows.Add(w.Nazwa); }); } foreach (DataRow dr in tabelaWag.Rows) { foreach (DataColumn dc in tabelaWag.Columns) { if (dr.Table.Columns[dc.ColumnName].Ordinal > 0) { int rowID = listaIdKryteriow[dr[0].ToString()]; int columnID = listaIdKryteriow[dc.ColumnName]; int glowneID = listaIdKryteriow[dr.Table.Columns[0].ColumnName.ToString()]; Waga waga = WagaController.pobierzWage(glowneID, rowID, columnID, db); if (null != waga) { dr[dc] = waga.Waga1; } else if (rowID == columnID) { dr[dc] = 1; } else { dr[dc] = 0; } } } } return(tabelaWag); }
private void wagiButton_Click(object sender, EventArgs e) { DataTable dt = new DataTable(); dt.Columns.Add(listaNazwKryteriow[idKryterium]); dt.Columns.Add("Waga"); List <Kryterium> listaPodkryteriowWariantow = KryteriumController.pobierzListePodkryteriow(idKryterium, idCelu); if (listaPodkryteriowWariantow.Count == 0) { listaPodkryteriowWariantow = KryteriumController.pobierzListeWariantow(idKryterium); } List <Wynik> listaWynikow = WynikController.pobierzWynikiKryterium(idCelu, idKryterium, listaPodkryteriowWariantow); if (listaWynikow.Count > 0) { listaWynikow.ForEach(w => { DataRow dr = dt.NewRow(); dr[0] = listaNazwKryteriow[w.Kryterium1]; dr["Waga"] = w.Waga; dt.Rows.Add(dr); }); if (dt.Rows.Count > 0) { wagiDataGridView.DataSource = dt; } } else { MessageBox.Show("Nie obliczono wyników dla danego kryterium!", "Informacja", MessageBoxButtons.OK, MessageBoxIcon.Information); } }