/// <summary>Ustawia wartości aktualnych i następnych zajęć w zakładce Sprawdzanie obecności</summary>
        private void UstawZajecia()
        {
            try
            {
                lv_aktualne_zajecia.Clear();
                Zajecia_pojedyncze zajecia = databaseController.GetZajecia_Pojedyncze(conjuring, connection, wykladowca);
                if (zajecia != null)
                {
                    lv_aktualne_zajecia.Items.Add(zajecia.Zajecia.Przedmiot.Nazwa);
                    lv_aktualne_zajecia.Items.Add(zajecia.Zajecia.Sala.Numer + " " + zajecia.Zajecia.Sala.Budynek);
                    lv_aktualne_zajecia.Items.Add(zajecia.Data_zajec.ToShortTimeString());
                }
                else
                {
                    lv_aktualne_zajecia.Items.Add("Aktualnie nie ma żadnych zajęć");
                }

                lv_nastepne_zajecia.Clear();
                zajecia = databaseController.GetNextZajecia_Pojedyncze(conjuring, connection, wykladowca);
                if (zajecia != null)
                {
                    lv_nastepne_zajecia.Items.Add(zajecia.Zajecia.Przedmiot.Nazwa);
                    lv_nastepne_zajecia.Items.Add(zajecia.Zajecia.Sala.Numer + " " + zajecia.Zajecia.Sala.Budynek);
                    lv_nastepne_zajecia.Items.Add(zajecia.Data_zajec.ToShortTimeString());
                }
                else
                {
                    lv_nastepne_zajecia.Items.Add("Koniec zajęć na dzisiaj!");
                }
            }
            catch (Exception ex)
            {
                return;
            }
        }
        /// <summary> Zapisanie listy studentów w bazie danych.</summary>
        private void btn_zapisz_Click(object sender, EventArgs e)
        {
            if (studentRecorder.GetListLength() > 0)
            {
                Zajecia_pojedyncze _zajecia = databaseController.GetZajecia_Pojedyncze(conjuring, connection, wykladowca);
                if (_zajecia == null)
                {
                    MessageBox.Show("Lista studentów jest pusta.", "Uwaga", MessageBoxButtons.OK);
                }
                else
                {
                    foreach (StudentInfo stud in studentRecorder.lStudInfo)
                    {
                        databaseController.InsertObecnosc(conjuring, connection, stud, _zajecia);
                    }

                    studentRecorder.lStudInfo.Clear();
                    CurrentIndex = -1;
                    RefreshStudentGridViewOnce();
                }
            }
            else
            {
                MessageBox.Show("Lista studentów jest pusta.", "Uwaga", MessageBoxButtons.OK);
            }
        }
        public void Edytuj_Zaj_poj(TheConjuring_dbEntities1 conjuring, Zajecia_pojedyncze zajecia_Pojedyncze, DateTime NowaDataZajec, DateTime NowaGodzinaZajec, Wykladowca wyk)
        {
            try
            {
                var x = (from zp in conjuring.Zajecia_pojedyncze
                         join z in conjuring.Zajecia on zp.Id_Zajec equals z.Id_Zajec
                         join w in conjuring.Wykladowca on z.Id_Wykladowcy equals w.Id_Wykladowcy
                         where zp.Id_Zajec_pojedynczych == zajecia_Pojedyncze.Id_Zajec_pojedynczych && w.Id_Wykladowcy == wyk.Id_Wykladowcy
                         select zp).FirstOrDefault();
                String rec = x.Id_Zajec_pojedynczych + " | " + x.Data_zajec;


                DateTime pom = new DateTime(NowaDataZajec.Year, NowaDataZajec.Month, NowaDataZajec.Day, NowaGodzinaZajec.Hour, NowaGodzinaZajec.Minute, 0, 0);

                x.Data_zajec = pom;

                String recafter = x.Id_Zajec_pojedynczych + " | " + x.Data_zajec;

                DialogResult dr = MessageBox.Show("Czy napewno chcesz zmienić rekord z\n" + rec + "\nna\n" + recafter + " ?", "Potwierdzenie", MessageBoxButtons.YesNo);
                if (dr == DialogResult.Yes)
                {
                    conjuring.SaveChanges();
                    MessageBox.Show("Wiadomość: Zmieniono rekordu.");
                }
                else
                {
                    MessageBox.Show("Wiadomość: Nie zmieniono rekordu.");
                }
            }
            catch (NullReferenceException ex)
            {
                MessageBox.Show("Wyjątek: Rekord nie istnieje w bazie danych.");
            }
        }
        public void InsertZajeciaPojedyncze(TheConjuring_dbEntities1 conjuring, SqlConnection connection, Zajecia zajecia)
        {
            DateTime semestr_letni  = new DateTime(DateTime.Now.Year, 6, 30);
            DateTime semestr_zimowy = new DateTime(DateTime.Now.Year + 1, 1, 30);
            DateTime datyZajec      = (DateTime)zajecia.Czas;

            if (zajecia.Czas < semestr_letni)
            {
                while (datyZajec < semestr_letni)
                {
                    Zajecia_pojedyncze zajecia_Pojedyncze = new Zajecia_pojedyncze
                    {
                        Id_Zajec   = zajecia.Id_Zajec,
                        Data_zajec = datyZajec
                    };
                    connection.Open();
                    conjuring.Zajecia_pojedyncze.Add(zajecia_Pojedyncze);
                    conjuring.SaveChanges();
                    connection.Close();
                    if (zajecia.Tydzien == false)
                    {
                        datyZajec = datyZajec.AddDays(7);
                    }
                    else
                    {
                        datyZajec = datyZajec.AddDays(14);
                    }
                }
            }
            else
            {
                while (datyZajec < semestr_zimowy)
                {
                    Zajecia_pojedyncze zajecia_Pojedyncze = new Zajecia_pojedyncze
                    {
                        Id_Zajec   = zajecia.Id_Zajec,
                        Data_zajec = datyZajec
                    };
                    connection.Open();
                    conjuring.Zajecia_pojedyncze.Add(zajecia_Pojedyncze);
                    conjuring.SaveChanges();
                    connection.Close();
                    if (zajecia.Tydzien == false)
                    {
                        datyZajec = datyZajec.AddDays(7);
                    }
                    else
                    {
                        datyZajec = datyZajec.AddDays(14);
                    }
                }
            }
        }
 public Zajecia_pojedyncze GetNextZajecia_Pojedyncze(TheConjuring_dbEntities1 conjuring, SqlConnection connection, Wykladowca wykladowca)
 {
     try
     {
         connection.Open();
         var zajecia = conjuring.Zajecia.Where(z => z.Id_Wykladowcy == wykladowca.Id_Wykladowcy);
         IQueryable <Zajecia_pojedyncze> zajecia_pojedyncze = null;
         foreach (var z in zajecia)
         {
             zajecia_pojedyncze = conjuring.Zajecia_pojedyncze.Where(zp => zp.Id_Zajec == z.Id_Zajec);
         }
         DateTime           now             = DateTime.Now;
         DateTime           shifted         = now.AddMinutes(15);
         Zajecia_pojedyncze nastepneZajecia = zajecia_pojedyncze.First(nz => nz.Data_zajec.Day == now.Day && nz.Data_zajec > shifted);
         connection.Close();
         return(nastepneZajecia);
     }
     catch (Exception ex) { connection.Close(); return(null); }
 }
        public void Usun_Zaj_poj(TheConjuring_dbEntities1 conjuring, Zajecia_pojedyncze zajecia_Pojedyncze, Wykladowca wyk)
        {
            try
            {
                var x = (from zp in conjuring.Zajecia_pojedyncze
                         where zp.Id_Zajec_pojedynczych == zajecia_Pojedyncze.Id_Zajec_pojedynczych
                         join z in conjuring.Zajecia on zp.Id_Zajec equals z.Id_Zajec
                         join w in conjuring.Wykladowca on z.Id_Wykladowcy equals w.Id_Wykladowcy
                         where zp.Id_Zajec_pojedynczych == zajecia_Pojedyncze.Id_Zajec_pojedynczych && w.Id_Wykladowcy == wyk.Id_Wykladowcy
                         select zp).FirstOrDefault();
                String rec = x.Data_zajec.ToString();

                DialogResult dr = MessageBox.Show("Czy napewno chcesz usunąć zajecia pojedyncze odbywajace się w podanej dacie ?\n" + rec, "Potwierdzenie", MessageBoxButtons.YesNo);
                if (dr == DialogResult.Yes)
                {
                    int c = (from zp in conjuring.Zajecia_pojedyncze
                             join o in conjuring.Obecnosc on zp.Id_Zajec_pojedynczych equals o.Id_Zajec_pojedynczych
                             join z in conjuring.Zajecia on zp.Id_Zajec equals z.Id_Zajec
                             join w in conjuring.Wykladowca on z.Id_Wykladowcy equals w.Id_Wykladowcy
                             where zp.Id_Zajec_pojedynczych == zajecia_Pojedyncze.Id_Zajec_pojedynczych && w.Id_Wykladowcy == wyk.Id_Wykladowcy
                             select o).Distinct().Count();

                    if (c == 0)
                    {
                        conjuring.Zajecia_pojedyncze.Remove(x);
                        conjuring.SaveChanges();
                        MessageBox.Show("Usunieto rekord");
                    }

                    else
                    {
                        MessageBox.Show("Nie można usunąć danych zajęć pojedyńczych, ze względu na to że studenci mają na nich obecność"); return;
                    }
                }
            }
            catch (NullReferenceException ex)
            {
                MessageBox.Show("Wyjątek: Rekord nie istnieje w bazie danych.");
            }
        }
Exemple #7
0
        private void btn_szukaj_obecnosci_Click(object sender, EventArgs e)
        {
            Zajecia_pojedyncze zajecia_Pojedyncze = new Zajecia_pojedyncze();
            Zajecia_pojedyncze zajecia_Zedytowane = new Zajecia_pojedyncze();
            Zajecia            zajecia = new Zajecia();
            DateTime           data_od, data_do;

            //Przygotowanie daty w zakresie której będzie sprawdzana obecność
            data_od = cb_data_od.Value;
            data_do = cb_data_do.Value;

            if (cb_przedmiot_przegladanie.Text == "")
            {
                MessageBox.Show("Wypełnij pola!");
            }
            else
            {
                zajecia = (Zajecia)cb_przedmiot_przegladanie.SelectedItem;

                lista_zajec_pojedynczych       = databaseController.Pojedyncz_od_do(conjuring, cb_data_od.Value, cb_data_do.Value, zajecia, wykladowca);
                dgv_lista_obecnosci.DataSource = FillDataTable(lista_zajec_pojedynczych);
            }
        }
Exemple #8
0
        private void btn_aktualizuj_Click(object sender, EventArgs e)
        {
            Zajecia_pojedyncze zajecia_Pojedyncze = lista_zajec_pojedynczych[CurrentIndex];

            DateTime NowaDataZajec    = Convert.ToDateTime(data_zajec.Text);
            DateTime NowaGodzinaZajec = Convert.ToDateTime(godzina_zajec.Text);

            List <Sala> sale     = databaseController.ListSala(conjuring);
            Sala        NowaSala = sale[cb_sala.SelectedIndex];

            databaseController.Edytuj_Zaj_poj(conjuring, zajecia_Pojedyncze, NowaDataZajec, NowaGodzinaZajec, wykladowca);
            try
            {
                //Tutaj wywołanie metody:
                //     NazwaMetody(Zajecia_pojedyncze zajecia_Pojedyncze, DateTime NowaDataZajec, DateTime NowaGodzinaZajec, Sala NowaSala);
                // NowaDataZajec to jest to co jest pod: obiektZajęćPojedyńczych.Data_zajec
                // NowaGodzinaZajec to jest to co jest pod: obiektZajęćPojedyńczych.Zajecia.Czas
                // NowaSala to jest to co jest pod: obiektZajęćPojedyńczych.Zajecia.Sala
            }
            catch (Exception ex)
            {
            }
        }
        public Zajecia_pojedyncze GetZajecia_Pojedyncze(TheConjuring_dbEntities1 conjuring, SqlConnection connection, Wykladowca wykladowca)
        {
            try
            {
                connection.Open();
                var zajecia = conjuring.Zajecia.Where(z => z.Id_Wykladowcy == wykladowca.Id_Wykladowcy);
                IQueryable <Zajecia_pojedyncze> zajecia_pojedyncze = null;
                foreach (var z in zajecia)
                {
                    zajecia_pojedyncze = conjuring.Zajecia_pojedyncze.Where(zp => zp.Id_Zajec == z.Id_Zajec);
                }


                //var obecneZajecia = zajecia_pojedyncze.Single(oz => oz.Data_zajec >= DateTime.Now.AddMinutes(-5) && oz.Data_zajec <= DateTime.Now.AddMinutes(90));

                DateTime           now           = DateTime.Now;
                DateTime           shifted       = now.AddMinutes(-89);
                DateTime           shifted2      = now.AddMinutes(15);
                Zajecia_pojedyncze obecneZajecia = zajecia_pojedyncze.First(oz => oz.Data_zajec >= shifted && oz.Data_zajec <= shifted2);
                connection.Close();
                return(obecneZajecia);
            }
            catch (Exception ex) { connection.Close(); return(null); }
        }
        public void InsertObecnosc(TheConjuring_dbEntities1 conjuring, SqlConnection connection, StudentInfo studentInfo, Zajecia_pojedyncze zajecia)
        {
            connection.Open();
            int studentIndex   = Convert.ToInt32(studentInfo.index);
            var isThereStudent = conjuring.Student.Where(s => s.Indeks == studentIndex).FirstOrDefault();

            connection.Close();
            if (isThereStudent == null)
            {
                Student student = new Student
                {
                    Indeks   = Convert.ToInt32(studentInfo.index),
                    Imie     = studentInfo.firstName,
                    Nazwisko = studentInfo.lastName,
                };

                Obecnosc obecnosc = new Obecnosc
                {
                    Indeks = Convert.ToInt32(studentInfo.index),
                    Id_Zajec_pojedynczych = zajecia.Id_Zajec_pojedynczych,

                    Data       = zajecia.Data_zajec,
                    Spoznienie = studentInfo.late,

                    notatka = studentInfo.note
                };
                connection.Open();
                conjuring.Student.Add(student);
                conjuring.Obecnosc.Add(obecnosc);
                conjuring.SaveChanges();
                connection.Close();
            }
            else
            {
                Obecnosc obecnosc = new Obecnosc
                {
                    Indeks = Convert.ToInt32(studentInfo.index),
                    Id_Zajec_pojedynczych = zajecia.Id_Zajec_pojedynczych,

                    Data       = zajecia.Data_zajec,
                    Spoznienie = studentInfo.late,

                    notatka = studentInfo.note
                };
                connection.Open();
                conjuring.Obecnosc.Add(obecnosc);
                conjuring.SaveChanges();
                connection.Close();
            }
        }
Exemple #11
0
        private void btn_usun_Click(object sender, EventArgs e)
        {
            Zajecia_pojedyncze zajecia_Pojedyncz = lista_zajec_pojedynczych[CurrentIndex];

            databaseController.Usun_Zaj_poj(conjuring, zajecia_Pojedyncz, wykladowca);
        }