private void dgv_listaOcen_indywidualne_CellEndEdit(object sender, DataGridViewCellEventArgs e)
        {
            string          dataKolumny = dgv.Columns[e.ColumnIndex].HeaderText.ToString() + " 00:00:00.000";
            int             przedmiotID = (int)dgv[0, e.RowIndex].Value;
            lekcja          l           = new lekcja(dataKolumny, przedmiotID, zalogowanaKlasa.KlasaID);
            uczen_na_lekcji unl         = new uczen_na_lekcji(listaUczniow.zbior[listaUczniow.ZaznaczonyWiersz].UczenID, l.LekcjaID);

            //if (unl.Uczen_na_lekcjiID < 0) unl.dodajDoBazy();
            unl.wylaczEdycje = false;
            int tmp = -1;

            try
            {
                tmp       = unl.Ocena;
                unl.Ocena = Convert.ToInt32(dgv[e.ColumnIndex, e.RowIndex].Value.ToString());
            }
            catch (Exception)
            {
                MessageBox.Show("wartosc musi byc z przedzialu <0,5> (0 = usuwanie oceny), akcja zostanie cofnieta");
                unl.Ocena = tmp;
                dgv[e.ColumnIndex, e.RowIndex].Value = unl.Ocena;
            }

            if (unl.Ocena == 0)
            {
                dgv[e.ColumnIndex, e.RowIndex].Value = string.Empty;
            }
            dgv[dgv.Columns.Count - 1, e.RowIndex].Value = obliczSrednia(e.RowIndex).ToString();
            dziennik.odswiezDGV();
        }
        void dgv_CellValueChanged(object sender, DataGridViewCellEventArgs e)
        {
            string          dataKolumny = dgv.Columns[e.ColumnIndex].HeaderText.ToString() + " 00:00:00.000";
            int             przedmiotID = (int)dgv[0, e.RowIndex].Value;
            lekcja          l           = new lekcja(dataKolumny, przedmiotID, zalogowanaKlasa.KlasaID);
            uczen_na_lekcji unl         = new uczen_na_lekcji(listaUczniow.zbior[listaUczniow.ZaznaczonyWiersz].UczenID, l.LekcjaID);

            unl.Obecnosc = (dgv[e.ColumnIndex, e.RowIndex].Value.ToString().ToUpper() == "TRUE") ? 1 : 0;
            //dgv[dgv.Columns.Count - 1, e.RowIndex].Value = obliczSrednia(e.RowIndex);
        }
Exemple #3
0
        private void bw_DoWork(object sender, DoWorkEventArgs e)
        {
            // index 0 = przedmiot, index 1 = typ
            int[] przekazanaStruktura = (int[])e.Argument;

            for (int i = 0; i < listaUczniow.Count; i++)
            {
                DataGridViewRow row = new DataGridViewRow();
                object[]        oc  = new object[dgv.Columns.Count];
                oc[0] = listaUczniow[i].UczenID;
                oc[1] = listaUczniow[i].Imie + " " + listaUczniow[i].Nazwisko;
                for (int c = 2; c < dgv.ColumnCount; c++)
                {
                    int    przedmiotID = przekazanaStruktura[0];
                    string dataKolumny = dgv.Columns[c].HeaderText.ToString() + " 00:00:00.000";
                    lekcja l           = new lekcja(dataKolumny, przedmiotID, zalogowanaKlasa.KlasaID);
                    if (l.LekcjaID < 0)
                    {
                        l.dodajDoBazy();
                    }
                    uczen_na_lekcji unl = new uczen_na_lekcji(listaUczniow[i].UczenID, l.LekcjaID);
                    if (unl.Uczen_na_lekcjiID < 0)
                    {
                        unl = new uczen_na_lekcji
                        {
                            UczenNR  = listaUczniow[i].UczenID,
                            LekcjaNR = l.LekcjaID,
                            Obecnosc = 0
                        };
                        try
                        {
                            unl.dodajDoBazy();
                        }
                        catch (Exception) {
                            //TODO rzuca jakims dziwnym wyjatkiem..
                        }
                    }
                    if ((ETypDanych)przekazanaStruktura[1] == ETypDanych.ocena)
                    {
                        //oc[c] = dataKolumny;
                        //oc[c] = unl.Uczen_na_lekcjiID + " " + unl.LekcjaNR + " " + przedmiotID + " " + unl.UczenNR;
                        if (unl.Ocena > 0)
                        {
                            oc[c] = unl.Ocena;
                        }
                    }
                    else
                    {
                        oc[c] = (unl.Obecnosc != 0);
                    }
                }
                row.CreateCells(dgv, oc);
                bw.ReportProgress(i, row);
            }
        }
Exemple #4
0
        /// <summary>
        /// dodaje lekcje do bazy danych
        /// </summary>
        public override void dodajDoBazy()
        {
            SQLite.Zapytanie = "INSERT INTO lekcja(klasaNR, przedmiotNR, dataNR) VALUES(@klasaNR,@przedmiotNR,@dataNR);";
            SQLite.dodajParametr("klasaNR", this.klasaNR);
            SQLite.dodajParametr("przedmiotNR", this.przedmiotNR);
            SQLite.dodajParametr("dataNR", this.dataNR);
            wykonajZapytanie(ERodzajZapytania.wyslij);
            // jak juz jest dodana klasa to konstruktor zwroci l.lekcjaID != -1, wtedy ta wartosc jest przypisana do obiektu
            lekcja l = new lekcja(dataKolumny, this.przedmiotNR, this.klasaNR);

            this.lekcjaID = l.lekcjaID;
            SQLite.zamknijPolaczenie();
        }
        private void bw_DoWork(object sender, DoWorkEventArgs e)
        {
            if (sprawdzCzyWybraneDane() == false)
            {
                MessageBox.Show("wykres nie zostanie wczytany (brak danych grupy wejsciowych nt. zbioru, przedmiotu i typu)");
                return;
            }
            var query = from d in listaDat.zbior
                        group d by new { d.Dzien.Month, d.Dzien.Year } into g
                     select new { Miesiac = g.Key, ID = g };
            int      sumaOcen    = 0;
            int      iloscDanych = 0;
            DateTime dzisiaj     = DateTime.Now;

            foreach (var group in query)
            {
                var miesiacTabeli = new DateTime(group.Miesiac.Year, group.Miesiac.Month, 1);
                if (miesiacTabeli > dzisiaj)
                {
                    return;
                }
                string miesiac = "";
                foreach (var g in group.ID)
                {
                    lekcja          l   = new lekcja(g.DataID, przedmiotNR, klasaNR);
                    uczen_na_lekcji unl = new uczen_na_lekcji(zbiorNR, l.LekcjaID);
                    if (typDanych == (int)ETypDanych.ocena)
                    {
                        sumaOcen += unl.Ocena;
                        if (unl.Ocena > 0)
                        {
                            iloscDanych++;
                        }
                    }
                    else
                    {
                        sumaOcen += unl.Obecnosc;
                        iloscDanych++;
                    }
                    miesiac = g.Dzien.ToString("MMMM", new CultureInfo("pl")) + " " + g.Dzien.ToString("yyyy");
                }

                double   srednia   = Math.Round(((float)sumaOcen) / iloscDanych, 2);
                object[] doPostepu = new object[] { miesiac, srednia };
                bw.ReportProgress(100, doPostepu);
            }
        }
        protected override void wczytajWiersze()
        {
            usunWiersze();
            foreach (przedmiot p in listaPrzedmiotow.zbior)
            {
                DataGridViewRow row = (DataGridViewRow)dgv.RowTemplate.Clone();
                row.CreateCells(dgv, p.PrzedmiotID, p.Nazwa);
                dgv.Rows.Add(row);
            }

            for (int r = 0; r < dgv.Rows.Count; r++)
            {
                for (int c = 2; c < dgv.Columns.Count - 1; c++)
                {
                    int    przedmiotID = (int)dgv[0, r].Value;
                    string dataKolumny = dgv.Columns[c].HeaderText.ToString() + " 00:00:00.000";
                    lekcja l           = new lekcja(dataKolumny, przedmiotID, zalogowanaKlasa.KlasaID);
                    if (l.LekcjaID < 0)
                    {
                        l.dodajDoBazy();
                    }

                    uczen_na_lekcji unl = new uczen_na_lekcji(listaUczniow.zbior[listaUczniow.ZaznaczonyWiersz].UczenID, l.LekcjaID);
                    if (unl.Uczen_na_lekcjiID < 0)
                    {
                        unl = new uczen_na_lekcji
                        {
                            UczenNR  = listaUczniow.zbior[listaUczniow.ZaznaczonyWiersz].UczenID,
                            LekcjaNR = l.LekcjaID,
                            Obecnosc = 0,
                        };
                        unl.dodajDoBazy();
                    }
                    if (TypDanych == ETypDanych.ocena)
                    {
                        if (unl.Ocena > 0)
                        {
                            dgv[c, r].Value = unl.Ocena;
                        }
                    }
                    else
                    {
                        dgv[c, r].Value = (unl.Obecnosc != 0);
                    }
                }
            }
        }
        void bw_DoWork(object sender, DoWorkEventArgs e)
        {
            int zaznaczonyWierszUcznia = (int)e.Argument;

            for (int i = 0; i < listaPrzedmiotow.zbior.Count; i++)
            {
                DataGridViewRow row = new DataGridViewRow();
                //row.CreateCells(dgv, listaPrzedmiotow.zbior[i].PrzedmiotID, listaPrzedmiotow.zbior[i].Nazwa);
                //int c = 2;
                object[]   oc  = new object[dgv.Columns.Count];
                List <int> sum = new List <int>();
                oc[0] = listaPrzedmiotow.zbior[i].PrzedmiotID;
                oc[1] = listaPrzedmiotow.zbior[i].Nazwa;
                int iloscDostepnychKolumn = 0;
                //object[] srednia = new object[dgv.Columns.Count-1];

                for (int c = 2; c < dgv.Columns.Count - 1; c++)
                {
                    int    przedmiotID = listaPrzedmiotow.zbior[i].PrzedmiotID;
                    string dataKolumny = dgv.Columns[c].HeaderText.ToString() + " 00:00:00.000";
                    lekcja l           = new lekcja(dataKolumny, przedmiotID, zalogowanaKlasa.KlasaID);
                    if (l.LekcjaID < 0)
                    {
                        l.dodajDoBazy();
                    }
                    uczen_na_lekcji unl = new uczen_na_lekcji(listaUczniow.zbior[listaUczniow.ZaznaczonyWiersz].UczenID, l.LekcjaID);
                    if (unl.Uczen_na_lekcjiID < 0)
                    {
                        unl = new uczen_na_lekcji
                        {
                            UczenNR  = listaUczniow.zbior[listaUczniow.ZaznaczonyWiersz].UczenID,
                            LekcjaNR = l.LekcjaID,
                            Obecnosc = 0
                        };
                        try
                        {
                            unl.dodajDoBazy();
                        }
                        catch (Exception)
                        {
                            //TODO rzuca jakims mega dziwnym wyjatkiem
                        }
                    }
                    if (typDanych == ETypDanych.ocena)
                    {
                        //oc[c] = dataKolumny;
                        //oc[c] = unl.Uczen_na_lekcjiID + " " + unl.LekcjaNR +" " + przedmiotID +" " + unl.UczenNR;

                        if (unl.Ocena > 0)
                        {
                            oc[c] = unl.Ocena;
                            if (dgv.Columns[c].DefaultCellStyle.BackColor != Color.Chartreuse)
                            {
                                sum.Add(unl.Ocena);
                                iloscDostepnychKolumn++;
                            }
                        }
                    }
                    else
                    {
                        oc[c] = (unl.Obecnosc != 0);
                        if (dgv.Columns[c].DefaultCellStyle.BackColor != Color.Chartreuse)
                        {
                            sum.Add((unl.Obecnosc != 0) ? 1 : 0);
                            iloscDostepnychKolumn++;
                        }
                    }
                }
                object sredniaLubFrekwencja = 0;
                if (typDanych == ETypDanych.ocena)
                {
                    sredniaLubFrekwencja = Math.Round(((float)sum.Sum() / iloscDostepnychKolumn), 2).ToString();
                }
                else
                {
                    sredniaLubFrekwencja = Math.Round(((float)sum.Sum() / iloscDostepnychKolumn), 3) * 100 + " %";
                }
                if (iloscDostepnychKolumn == 0)
                {
                    sredniaLubFrekwencja = " ";
                }
                //oc[dgv.Columns.Count - 1] = obliczSrednia(oc,true);
                oc[dgv.Columns.Count - 1] = sredniaLubFrekwencja;
                row.CreateCells(dgv, oc);
                bw.ReportProgress(i, row);
            }
        }