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); } } }
private void usunButton_Click(object sender, EventArgs e) { ExpertHelperDataContext db = new ExpertHelperDataContext(); TreeNode selectedNode = kryteriumPanel.getSelectedNode(); int celID = kryteriumPanel.getCelID(); if (null != selectedNode) { int kryteriumID = int.Parse(selectedNode.Name.ToString()); DialogResult result = MessageBox.Show("Czy na pewno chcesz usunąć zaznaczone kryterium i wszystkie jego podkryteria?", "Usuń", MessageBoxButtons.YesNo, MessageBoxIcon.Question); if (result == DialogResult.Yes) { List <int> listaPodkryteriow = KryteriumController.stworzListeDoUsuniecia(kryteriumID, celID); foreach (int idPodkryterium in listaPodkryteriow) { KryteriumController.usunKryterium(idPodkryterium, db); } kryteriumPanel.pobierzCele(); } } }
public static DataTable pobierzTabeleWariantow(int idCelu) { DataTable dt = new DataTable(); dt.Columns.Add("ID_Wariantu"); dt.Columns.Add("Nazwa"); dt.Columns.Add("Opis"); ExpertHelperDataContext db = new ExpertHelperDataContext(); var lista = from w in db.Kryteriums where w.ID_Rodzica == idCelu && w.Czy_Wariant select w.ID; foreach (var w in lista) { Kryterium wariant = pobierzKryterium(w, db, true); if (null != wariant) { DataRow dr = dt.NewRow(); dr["ID_Wariantu"] = wariant.ID; dr["Nazwa"] = wariant.Nazwa; dr["Opis"] = wariant.Opis; dt.Rows.Add(dr); } } return(dt); }
private void problemDataGridView_SelectionChanged(object sender, EventArgs e) { ExpertHelperDataContext db = new ExpertHelperDataContext(); if (problemDataGridView.SelectedRows.Count == 1) { try { DataGridViewRow dataRow = problemDataGridView.SelectedRows[0]; int idCelu = int.Parse(dataRow.Cells[1].Value.ToString()); listaWariantowWag = WynikCeluController.pobierzMapeWynikow(idCelu, db); WykresController.setChartData(wynikChart, idCelu, listaWariantowWag); if (listaWariantowWag.Count == 0) { MessageBox.Show("Brak wyników dla danego celu!", "Informacja", MessageBoxButtons.OK, MessageBoxIcon.Information); } } catch { MessageBox.Show("Zaznacz wiersz z danymi!", "Błąd", MessageBoxButtons.OK, MessageBoxIcon.Error); } } }
public static List <Wynik> pobierzWynikiCelu(int idCelu) { ExpertHelperDataContext db = new ExpertHelperDataContext(); List <Wynik> listaWynikow = new List <Wynik>(); var lista = from w in db.Wyniks where w.KryteriumGlowne == idCelu select w; foreach (var w in lista) { Wynik wynik = new Wynik() { ID = w.ID, KryteriumGlowne = w.KryteriumGlowne, Kryterium1 = w.Kryterium1, Kryterium2 = w.Kryterium2, Waga = w.Waga }; listaWynikow.Add(wynik); } return(listaWynikow); }
public static void dodajListeWag(IEnumerable <Waga> listaWag) { ExpertHelperDataContext db = new ExpertHelperDataContext(); foreach (Waga w in listaWag) { int idWagi = sprawdzCzyWagaIstnieje(w, db); if (idWagi == 0) { db.Wagas.InsertOnSubmit(w); } else { Waga waga = pobierzWage(idWagi, db); if (null != waga) { waga.Waga1 = w.Waga1; } } } db.SubmitChanges(); }
public static void dodajListeWynikow(IEnumerable <Wynik> listaWynikow) { ExpertHelperDataContext db = new ExpertHelperDataContext(); foreach (Wynik w in listaWynikow) { int idWyniku = sprawdzCzyWynikIstnieje(w, db); if (idWyniku == 0) { db.Wyniks.InsertOnSubmit(w); } else { Wynik wynik = pobierzWynik(idWyniku, db); if (null != wynik) { wynik.Waga = w.Waga; } } } db.SubmitChanges(); }
public static WynikCelu pobierzWynik(int idWyniku, ExpertHelperDataContext db) { var wynik = (from w in db.WynikCelus where w.ID == idWyniku select w).FirstOrDefault(); return(wynik); }
public static DataTable pobierzListeKryteriow() { DataTable listaKryteriow = new DataTable("Kryterium"); listaKryteriow.Rows.Clear(); listaKryteriow.Columns.Clear(); listaKryteriow.Columns.Add("Lp"); listaKryteriow.Columns.Add("ID"); listaKryteriow.Columns.Add("ID_Rodzica"); listaKryteriow.Columns.Add("Cel"); listaKryteriow.Columns.Add("Opis"); listaKryteriow.Columns.Add("Liczba_Podkryteriow"); listaKryteriow.Columns.Add("Czy_Wariant"); listaKryteriow.Columns.Add("ID_Celu"); ExpertHelperDataContext db = new ExpertHelperDataContext(); var lista = from d in db.Kryteriums select new { id = d.ID, idRodzica = d.ID_Rodzica, idCelu = d.ID_Celu, cel = d.Nazwa, opis = d.Opis, liczbaPodkryteriow = d.Liczba_Podkryteriow, czyWariant = d.Czy_Wariant }; int lp = 1; foreach (var cel in lista) { DataRow dr = listaKryteriow.NewRow(); if (cel.idCelu == cel.id) { dr["Lp"] = lp; lp++; } else { dr["Lp"] = 0; } dr["ID"] = cel.id; dr["ID_Rodzica"] = cel.idRodzica; dr["Cel"] = cel.cel; dr["Opis"] = cel.opis; dr["Liczba_Podkryteriow"] = cel.liczbaPodkryteriow; dr["Czy_Wariant"] = cel.czyWariant; dr["ID_Celu"] = cel.idCelu; listaKryteriow.Rows.Add(dr); } return(listaKryteriow); }
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); }
private void zapiszButton_Click(object sender, EventArgs e) { ExpertHelperDataContext db = new ExpertHelperDataContext(); foreach (KeyValuePair <int, decimal> wariant in listaWariantowWag) { WynikCeluController.dodajWynikCelu(idCelu, wariant.Key, wariant.Value, db); } }
public static void usunKryterium(int id, ExpertHelperDataContext db) { Kryterium kryterium = pobierzKryteriumWariant(id, db); if (null != kryterium) { kryterium.ID_Rodzica = -1; db.SubmitChanges(); } }
public static void dodajWynikCelu(int idCelu, int idWariantu, decimal waga, ExpertHelperDataContext db) { WynikCelu wynik = new WynikCelu() { ID_Celu = idCelu, ID_Wariantu = idWariantu, Waga = Convert.ToDouble(waga) }; db.WynikCelus.InsertOnSubmit(wynik); db.SubmitChanges(); }
public static void edytujWage(int kryteriumGlowne, int idKryteriumJeden, int idKryteriumDwa, double wartosc) { ExpertHelperDataContext db = new ExpertHelperDataContext(); Waga waga = pobierzWage(kryteriumGlowne, idKryteriumJeden, idKryteriumDwa, db); if (null != waga) { waga.Waga1 = wartosc; db.SubmitChanges(); } }
public static int sprawdzCzyWynikIstnieje(int idCelu, int idWariantu, ExpertHelperDataContext db) { var idWyniku = (from w in db.WynikCelus where w.ID_Celu == idCelu && w.ID_Wariantu == idWariantu select w).FirstOrDefault(); if (null != idWyniku) { return(idWyniku.ID); } return(0); }
public static int sprawdzCzyWagaIstnieje(Waga waga, ExpertHelperDataContext db) { var idWagi = (from w in db.Wagas where w.KryteriumGlowne == waga.KryteriumGlowne && w.Kryterium1 == waga.Kryterium1 && w.Kryterium2 == waga.Kryterium2 select w).FirstOrDefault(); if (null != idWagi) { return(idWagi.ID); } return(0); }
public static Waga pobierzWage(int idWagi, ExpertHelperDataContext db) { var waga = (from w in db.Wagas where w.ID == idWagi select w).FirstOrDefault(); if (null != waga) { return(waga); } return(null); }
public static Dictionary <int, decimal> pobierzMapeWynikow(int idCelu, ExpertHelperDataContext db) { Dictionary <int, decimal> mapaWynikow = new Dictionary <int, decimal>(); List <WynikCelu> listaWynikow = pobierzListeWynikow(idCelu, db); if (listaWynikow.Count > 0) { listaWynikow.ForEach(w => mapaWynikow.Add(w.ID_Wariantu, Convert.ToDecimal(w.Waga))); } return(mapaWynikow); }
public static Kryterium pobierzKryteriumWariant(int id, ExpertHelperDataContext db) { var kryterium = (from kr in db.Kryteriums where kr.ID == id select kr).FirstOrDefault(); if (null != kryterium) { return(kryterium); } return(null); }
public static int sprawdzCzyWynikIstnieje(Wynik wynik, ExpertHelperDataContext db) { var idWyniku = (from w in db.Wyniks where w.KryteriumGlowne == wynik.KryteriumGlowne && w.Kryterium1 == wynik.Kryterium1 && w.Kryterium2 == wynik.Kryterium2 select w).FirstOrDefault(); if (null != idWyniku) { return(idWyniku.ID); } return(0); }
public static Wynik pobierzWynik(int idWyniku, ExpertHelperDataContext db) { var wynik = (from w in db.Wyniks where w.ID == idWyniku select w).FirstOrDefault(); if (null != wynik) { return(wynik); } return(null); }
public static void dodajLiczbePodkryteriow(int idKryterium, bool czyWariant) { ExpertHelperDataContext db = new ExpertHelperDataContext(); Kryterium kryterium = pobierzKryterium(idKryterium, db, czyWariant); if (null != kryterium) { int liczbaPodkryteriow = kryterium.Liczba_Podkryteriow + 1; kryterium.Liczba_Podkryteriow = liczbaPodkryteriow; db.SubmitChanges(); } }
public static void edytujKryterium(int id, String nazwa, String opis, bool czyWariant) { ExpertHelperDataContext db = new ExpertHelperDataContext(); Kryterium kryterium = pobierzKryterium(id, db, czyWariant); if (null != kryterium) { kryterium.Nazwa = nazwa; kryterium.Opis = opis; } db.SubmitChanges(); }
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; }
public static Dictionary <int, String> pobierzListeNazwKryteriow(int idCelu) { Dictionary <int, String> listaIdKryteriow = new Dictionary <int, String>(); ExpertHelperDataContext db = new ExpertHelperDataContext(); var lista = from w in db.Kryteriums where w.ID_Celu == idCelu select w; foreach (var w in lista) { listaIdKryteriow.Add(w.ID, w.Nazwa); } return(listaIdKryteriow); }
public static TreeNode pobierzDrzewo(int idRoot) { TreeNode rootItem = new TreeNode(); ExpertHelperDataContext db = new ExpertHelperDataContext(); Kryterium rootKryterium = pobierzKryterium(idRoot, db, false); if (null != rootKryterium) { rootItem.Name = rootKryterium.ID.ToString(); rootItem.Text = rootKryterium.Nazwa; } stworzDrzewo(rootItem, idRoot); return(rootItem); }
public static List <Kryterium> pobierzListeWariantow(int idCelu) { List <Kryterium> listaWariantow = new List <Kryterium>(); ExpertHelperDataContext db = new ExpertHelperDataContext(); var lista = from w in db.Kryteriums where w.ID_Rodzica == idCelu && w.Czy_Wariant select w.ID; foreach (var w in lista) { listaWariantow.Add(pobierzKryterium(w, db, true)); } return(listaWariantow); }
public static List <Wynik> pobierzWynikiKryterium(int idCelu, int idKryterium, List <Kryterium> listaPodkryteriowWariantow) { ExpertHelperDataContext db = new ExpertHelperDataContext(); List <Wynik> listaWynikow = new List <Wynik>(); foreach (Kryterium k in listaPodkryteriowWariantow) { Wynik wynik = pobierzWynik(idCelu, k.ID, idKryterium, db); if (null != wynik) { listaWynikow.Add(wynik); } } return(listaWynikow); }
public static Kryterium dodajKryterium(String nazwa, String opis, int idRodzica, bool czyWariant, int idCelu) { ExpertHelperDataContext db = new ExpertHelperDataContext(); if (idCelu == 0) { Kryterium kryterium = new Kryterium { Nazwa = nazwa, Opis = opis, Data_utworzenia = DateTime.Now, ID_Rodzica = idRodzica, Liczba_Podkryteriow = 0, Czy_Wariant = czyWariant }; db.Kryteriums.InsertOnSubmit(kryterium); db.SubmitChanges(); kryterium.ID_Celu = kryterium.ID; db.SubmitChanges(); return(kryterium); } else { Kryterium kryterium = new Kryterium { Nazwa = nazwa, Opis = opis, Data_utworzenia = DateTime.Now, ID_Rodzica = idRodzica, ID_Celu = idCelu, Liczba_Podkryteriow = 0, Czy_Wariant = czyWariant }; db.Kryteriums.InsertOnSubmit(kryterium); db.SubmitChanges(); return(kryterium); } }
private void pobierzWynikiDlaCelu(int idCelu) { ExpertHelperDataContext db = new ExpertHelperDataContext(); Dictionary <int, String> listaKryteriow = KryteriumController.pobierzListeNazwKryteriow(idCelu); List <WynikCelu> listaWynikowCelu = WynikCeluController.pobierzListeWynikow(idCelu, db); if (listaWynikowCelu.Count > 0) { double max = listaWynikowCelu.Max(w => w.Waga); DataTable dt = stworzStruktureWynikow(listaWynikowCelu, listaKryteriow, idCelu); DataRow dr = dt.NewRow(); dr[listaKryteriow[idCelu]] = "Wynik"; foreach (WynikCelu w in listaWynikowCelu) { dr[listaKryteriow[w.ID_Wariantu]] = w.Waga; } dt.Rows.Add(dr); wynikiDataGridView.DataSource = dt; foreach (DataGridViewRow row in wynikiDataGridView.Rows) { foreach (DataGridViewColumn col in wynikiDataGridView.Columns) { object value = wynikiDataGridView.Rows[row.Index].Cells[col.Index].Value; if (null != value && value.ToString() == max.ToString()) { wynikiDataGridView.Rows[row.Index].Cells[col.Index].Style.BackColor = Color.LightGreen; } } } } }