private void kryteriaTreeView_AfterSelect(object sender, TreeViewEventArgs e)
        {
            ExpertHelperDataContext db = new ExpertHelperDataContext();

            wyczyscKontrolki();
            dodajButton.Enabled  = false;
            zapiszButton.Enabled = true;

            if (kryteriaTreeView.SelectedNode == null)
            {
                ustalBlokadeKontrolek(false);
                setButtonEnable("Usuń", false);
            }
            else
            {
                ustalBlokadeKontrolek(true);
                setButtonEnable("Usuń", true);
                TreeNode item = kryteriaTreeView.SelectedNode;
                kryteriumID = int.Parse(item.Name.ToString());
                Kryterium kryterium = KryteriumController.pobierzKryterium(kryteriumID, db, false);

                if (null != kryterium)
                {
                    nazwaTextBox.Text = kryterium.Nazwa;
                    opisRichTextBox.AppendText(kryterium.Opis);
                }
            }
        }
        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);
        }
        public static void setChartData(Chart wynikChart, int idCelu, Dictionary <int, decimal> listaWariantowWag)
        {
            wynikChart.ChartAreas.Clear();
            wynikChart.Legends.Clear();
            wynikChart.Series.Clear();
            wynikChart.Titles.Clear();

            ExpertHelperDataContext db = new ExpertHelperDataContext();

            Kryterium cel = KryteriumController.pobierzKryterium(idCelu, false);

            ChartArea area = new ChartArea("Ranking");

            area.AxisY.Interval = 0.1;
            area.AxisY.Maximum  = 1;
            wynikChart.ChartAreas.Add(area);

            Legend legend = new Legend("Warianty");

            legend.LegendStyle = LegendStyle.Column;
            wynikChart.Legends.Add(legend);

            foreach (KeyValuePair <int, decimal> wariant in listaWariantowWag)
            {
                Kryterium kryterium = KryteriumController.pobierzKryterium(wariant.Key, db, true);

                Series wykres = new Series(kryterium.Nazwa, 1);
                wynikChart.Series.Add(wykres);
                wykres.ChartType = SeriesChartType.Column;
                wykres.ChartArea = "Ranking";

                wykres.Label = kryterium.Nazwa;

                wynikChart.Series[kryterium.Nazwa].Points.AddXY(kryterium.Nazwa, Math.Round(Convert.ToDouble(wariant.Value), 3));
                wynikChart.Series[kryterium.Nazwa].Points[0].AxisLabel = "Ranking końcowy";
                wynikChart.Series[kryterium.Nazwa].Label = wariant.Value.ToString();
            }

            Title tytul = new Title("Ranking końcowy dla celu: " + cel.Nazwa);
            Font  font  = new Font(tytul.Font.FontFamily, 20, FontStyle.Bold);

            tytul.Font = font;

            wynikChart.Titles.Add(tytul);

            wynikChart.Visible = true;
        }
        private void wariantyListBox_SelectedIndexChanged(object sender, EventArgs e)
        {
            wyczyscKontrolki();

            if (null != wariantyListBox.SelectedValue)
            {
                bool czyLiczba = int.TryParse(wariantyListBox.SelectedValue.ToString(), out wariantID);

                if (czyLiczba)
                {
                    Kryterium wariant = KryteriumController.pobierzKryterium(wariantID, true);

                    if (null != wariant)
                    {
                        nazwaTextBox.Text = wariant.Nazwa;
                        opisRichTextBox.AppendText(wariant.Opis);
                    }
                }
            }
        }