예제 #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 setButtonEnable(String nazwa, bool enable)
        {
            Button usunButton = buttonMenu.getButton(nazwa);

            if (null != usunButton)
            {
                usunButton.Enabled = enable;
            }
        }
예제 #3
0
 public WagiPanel(Form mainForm, ButtonMenu buttonMenu, int idCelu)
 {
     InitializeComponent();
     this.mainForm   = mainForm;
     this.idCelu     = idCelu;
     this.buttonMenu = buttonMenu;
     problemTreeView.Nodes.Clear();
     wariantyListBox.Items.Clear();
     listaNodow = KryteriumController.pobierzDrzewo(idCelu);
     uzupelnijProblemWarianty();
     listaIdKryteriow             = KryteriumController.pobierzListeIdKryteriow(idCelu);
     listaNazwKryteriow           = KryteriumController.pobierzListeNazwKryteriow(idCelu);
     wartoscNumericUpDown.Maximum = MAKSYMALNA_WAGA;
     sliderTrackBar.SetRange(0, MAKSYMALNA_WAGA * 100);
     buttonMenu.setControlEnable(buttonMenu.getButton("Dodaj"), false);
     buttonMenu.setControlEnable(buttonMenu.getButton("Usuń"), false);
     buttonMenu.setControlEnable(buttonMenu.getButton("Dalej"), false);
 }
예제 #4
0
        private void dodajCelButton_Click(object sender, EventArgs e)
        {
            Visible = false;
            KryteriumPanel kryteriumPanel = new KryteriumPanel(mainForm, buttonMenu);

            mainForm.Controls.Add(kryteriumPanel);
            buttonMenu.setAktualnyPanel(kryteriumPanel);
            buttonMenu.setControlEnable(buttonMenu.getButton("Dodaj"), true);
            buttonMenu.setControlEnable(buttonMenu.getButton("Usuń"), false);
            buttonMenu.setControlEnable(buttonMenu.getButton("Wstecz"), true);
            buttonMenu.setControlEnable(buttonMenu.getButton("Dalej"), false);
            kryteriumPanel.Visible = true;
            buttonMenu.Visible     = true;
        }