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; }
private void wagiButton_Click(object sender, EventArgs e) { if (problemDataGridView.SelectedRows.Count > 0) { pierwszyZaznaczony = problemDataGridView.SelectedRows[0].Index; } if (wariantyListBox.Items.Count > 1) { if (liczbaPodkryteriow >= 2) { Visible = false; WagiPanel wagiPanel = new WagiPanel(mainForm, buttonMenu, celID); buttonMenu.setWagiPanel(wagiPanel); buttonMenu.setAktualnyPanel(wagiPanel); mainForm.Controls.Add(wagiPanel); wagiPanel.Visible = true; } else { MessageBox.Show("Musisz dodać przynajmniej 2 podkryteria!", "Error!", MessageBoxButtons.OK, MessageBoxIcon.Error); } } else { MessageBox.Show("Musisz dodać przynajmniej 2 warianty!", "Error!", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
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; }