示例#1
0
        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;
        }
示例#2
0
 public void setWynikPanel(WynikPanel wynikPanel)
 {
     this.wynikPanel = wynikPanel;
 }