예제 #1
0
        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);
        }
예제 #2
0
        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();
        }
예제 #3
0
        private void zapiszButton_Click(object sender, EventArgs e)
        {
            DataTable tabelaWynikow = (DataTable)wagiDataGridView.DataSource;

            List <Wynik> listaWynikow = new List <Wynik>();

            if (null != problemTreeView.SelectedNode)
            {
                try
                {
                    foreach (DataRow dr in tabelaWynikow.Rows)
                    {
                        int idWiersza = listaIdKryteriow[dr[0].ToString()];
                        int idKolumny = listaIdKryteriow[wagiDataGridView.Columns[0].HeaderCell.Value.ToString()];

                        decimal value = decimal.Parse(dr["Waga"].ToString(), NumberStyles.AllowThousands | NumberStyles.AllowDecimalPoint | NumberStyles.AllowCurrencySymbol);

                        double doubleValue = Convert.ToDouble(value);

                        Wynik wynik = WynikController.stworzWynik(idCelu, idWiersza, idKolumny, doubleValue);

                        listaWynikow.Add(wynik);
                    }

                    WynikController.dodajListeWynikow(listaWynikow);
                }
                catch (Exception ex)
                {
                    MessageBox.Show("Błąd przy tworzeniu identyfikatora danych! " + ex.ToString(), "Błąd!", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
        }
예제 #4
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;
        }
예제 #5
0
        public static Wynik stworzWynik(int kryteriumGlowne, int idKryteriumJeden, int idKryteriumDwa, double wartosc)
        {
            Wynik wynik = new Wynik();

            wynik.KryteriumGlowne = kryteriumGlowne;
            wynik.Kryterium1      = idKryteriumJeden;
            wynik.Kryterium2      = idKryteriumDwa;
            wynik.Waga            = wartosc;

            return(wynik);
        }
예제 #6
0
        public static void dodajWynik(int kryteriumGlowne, int idKryteriumJeden, int idKryteriumDwa, double wartosc, ExpertHelperDataContext db)
        {
            Wynik wynik = new Wynik
            {
                KryteriumGlowne = kryteriumGlowne,
                Kryterium1      = idKryteriumJeden,
                Kryterium2      = idKryteriumDwa,
                Waga            = wartosc
            };

            db.Wyniks.InsertOnSubmit(wynik);
            db.SubmitChanges();
        }
예제 #7
0
        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);
        }
예제 #8
0
        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);
        }
예제 #9
0
        public static List <Wynik> pobierzWszystkieWyniki(ExpertHelperDataContext db)
        {
            List <Wynik> listaWynikow = new List <Wynik>();

            var lista = from w in db.Wyniks
                        select w;

            foreach (Wynik wynik in lista)
            {
                Wynik w = new Wynik
                {
                    ID = wynik.ID,
                    KryteriumGlowne = wynik.KryteriumGlowne,
                    Kryterium1      = wynik.Kryterium1,
                    Kryterium2      = wynik.Kryterium2,
                    Waga            = wynik.Waga
                };

                listaWynikow.Add(w);
            }

            return(listaWynikow);
        }
예제 #10
0
 private void detach_Wyniks2(Wynik entity)
 {
     this.SendPropertyChanging();
     entity.Kryterium4 = null;
 }
예제 #11
0
 private void attach_Wyniks1(Wynik entity)
 {
     this.SendPropertyChanging();
     entity.Kryterium3 = this;
 }
예제 #12
0
 partial void DeleteWynik(Wynik instance);
예제 #13
0
 partial void UpdateWynik(Wynik instance);
예제 #14
0
 partial void InsertWynik(Wynik instance);