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);
        }
Example #2
0
        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);
            }
        }