//<ZAKŁADKA: Przeglądanie obecności> /// <summary> Wyszukuje obecności na podstawie ustawionych parametrów w zakładce Przeglądanie obecności </summary> private void btn_szukaj_obecnosci_Click(object sender, EventArgs e) { List <Przedmiot> przedmioty = databaseController.ListPrzedmiot_Zalogowanego(conjuring, wykladowca); List <Obecnosc> studenci = databaseController.GetObecnosc(conjuring, connection); Przedmiot przedmiot = null; Student student = null; DateTime data, data_od, data_do; //Przygotowanie daty w zakresie której będzie sprawdzana obecność data = cb_data_przegladanie.Value; data_od = new DateTime(data.Year, data.Month, data.Day, 0, 0, 0, 0); data_do = new DateTime(data.Year, data.Month, data.Day, 23, 59, 59, 0); //Przygotowanie obiektu studenta do sprawdzenia if (cb_student_przegladanie.Text != "") { string index_str = cb_student_przegladanie.Text; index_str = index_str.Split('(', ')')[1]; int Index = Convert.ToInt32(index_str); student = conjuring.Student.Where(o => (o.Indeks == Index)).FirstOrDefault(); } //Przygotowanie obiektu przedmiotu do sprawdzenia if (cb_przedmiot_przegladanie.Text != "") { przedmiot = conjuring.Przedmiot.Where(o => (o.Nazwa == cb_przedmiot_przegladanie.Text)).FirstOrDefault(); } //Rozpatrzenie wszystkich przypadków podania parametrów: if (cb_przedmiot_przegladanie.Text == "" && cb_student_przegladanie.Text == "") { MessageBox.Show("Wprowadź wartość do co najmniej jednego pola!", "Uwaga!"); } else if (cb_przedmiot_przegladanie.Text != "" && cb_uwzglednij_date.Checked == false && cb_student_przegladanie.Text == "") { dgv_lista_obecnosci.DataSource = databaseController.Lista_Obecnosci(conjuring, connection, przedmiot, wykladowca); } else if (cb_przedmiot_przegladanie.Text != "" && cb_uwzglednij_date.Checked == true && cb_student_przegladanie.Text == "") { dgv_lista_obecnosci.DataSource = databaseController.Lista_Obecnosci(conjuring, connection, przedmiot, data_od, data_do, wykladowca); } else if (cb_przedmiot_przegladanie.Text != "" && cb_uwzglednij_date.Checked == false && cb_student_przegladanie.Text != "") { dgv_lista_obecnosci.DataSource = databaseController.Lista_Obecnosci(conjuring, connection, przedmiot, student, wykladowca); } else if (cb_przedmiot_przegladanie.Text != "" && cb_uwzglednij_date.Checked == true && cb_student_przegladanie.Text != "") { dgv_lista_obecnosci.DataSource = databaseController.Lista_Obecnosci(conjuring, connection, przedmiot, data_od, data_do, student, wykladowca); } else if (cb_przedmiot_przegladanie.Text == "" && cb_uwzglednij_date.Checked == false && cb_student_przegladanie.Text != "") { dgv_lista_obecnosci.DataSource = databaseController.Lista_Obecnosci(conjuring, connection, student, wykladowca); } else if (cb_przedmiot_przegladanie.Text == "" && cb_uwzglednij_date.Checked == true && cb_student_przegladanie.Text != "") { dgv_lista_obecnosci.DataSource = databaseController.Lista_Obecnosci(conjuring, connection, data_od, data_do, student, wykladowca); } }
//</ZAKŁADKA: Sprawdzanie obecności> //<ZAKŁADKA: Edytor zajęć> /// <summary>Dodawanie nowego obiektu zajęć do bazy danych</summary> private void btn_dodaj_zajęcia_Click(object sender, EventArgs e) { DateTime data = Convert.ToDateTime(dateTime_pierwsze_zajecia.Value); string minuty = Convert.ToString(data.Minute); string godziny = Convert.ToString(data.Hour); if (minuty.Length < 2) { minuty = "0" + minuty; } if (godziny.Length < 2) { godziny = "0" + godziny; } Przedmiot przedmiot = conjuring.Przedmiot.Where(o => (o.Nazwa == cb_zajecia.Text)).FirstOrDefault(); String sala_zczytane = cb_sala.Text; Char delimiter = '-'; String[] substrings = sala_zczytane.Split(delimiter); string pom1 = substrings[0]; string pom2 = substrings[1]; Sala sala = conjuring.Sala.Where(o => (o.Numer == pom1 && o.Budynek == pom2)).FirstOrDefault(); bool tydzien = false; string tydzien_zczyatane = cb_czestosc.Text; if (tydzien_zczyatane == "Co tydzien") { tydzien = false; } else if (tydzien_zczyatane == "Co dwa tygodnie") { tydzien = true; } databaseController.InsertZajecia(conjuring, connection, wykladowca, przedmiot, sala, data, tydzien); Refresh_dvg_zajecia(); RefreshComboboxes_PrzegladanieObecnosci(); }
//Dodawanie nowego przedmiotu public void InsertPrzedmiot(TheConjuring_dbEntities1 conjuring, SqlConnection connection, String nazwa) { connection.Open(); var query = conjuring.Przedmiot.Where(o => (o.Nazwa == nazwa)).FirstOrDefault(); if (query != null) { MessageBox.Show("Taki przedmiot już istnieje w bazie"); connection.Close(); return; } Przedmiot przedmiot = new Przedmiot { Nazwa = nazwa }; conjuring.Przedmiot.Add(przedmiot); conjuring.SaveChanges(); connection.Close(); MessageBox.Show("Dodano poprawnie przedmiot - " + nazwa); }
public DataTable Lista_Obecnosci(TheConjuring_dbEntities1 conjuring, SqlConnection connection, Przedmiot przed, DateTime data_od, DateTime data_do, Student student, Wykladowca wyk) { DataTable dt = new DataTable(); dt.Columns.Add("Przedmiot"); dt.Columns.Add("Student"); dt.Columns.Add("Data"); dt.Columns.Add("Spóźniony"); dt.Columns.Add("Notatka"); var qTyp = (from p in conjuring.Przedmiot join z in conjuring.Zajecia on p.Id_Przedmiotu equals z.Id_Przedmiotu join zp in conjuring.Zajecia_pojedyncze on z.Id_Zajec equals zp.Id_Zajec join o in conjuring.Obecnosc on zp.Id_Zajec_pojedynczych equals o.Id_Zajec_pojedynczych join s in conjuring.Student on o.Indeks equals s.Indeks where z.Id_Wykladowcy == wyk.Id_Wykladowcy && p.Id_Przedmiotu == przed.Id_Przedmiotu && zp.Data_zajec > data_od && zp.Data_zajec < data_do && s.Indeks == student.Indeks select new { Przedmiot_ = p.Nazwa, Student_ = s.Imie + " " + s.Nazwisko, Data_ = zp.Data_zajec, Spoznienie_ = o.Spoznienie, Notatka_ = o.notatka }).Distinct().ToList(); foreach (var s in qTyp) { DataRow new_row = dt.NewRow(); new_row["Przedmiot"] = s.Przedmiot_; new_row["Student"] = s.Student_; new_row["Data"] = s.Data_; new_row["Spóźniony"] = s.Spoznienie_; new_row["Notatka"] = s.Notatka_; dt.Rows.Add(new_row); } return(dt); }
//Dodawanie nowych zajęć public void InsertZajecia(TheConjuring_dbEntities1 conjuring, SqlConnection connection, Wykladowca wykladowca, Przedmiot przedmiot, Sala sala, DateTime data, bool tydzien) { connection.Open(); var query = conjuring.Zajecia.Where(o => (o.Id_Przedmiotu == przedmiot.Id_Przedmiotu && o.Id_Sali == sala.Id_Sali && o.Id_Wykladowcy == wykladowca.Id_Wykladowcy && o.Tydzien == tydzien && o.Czas == data)).FirstOrDefault(); if (query != null) { MessageBox.Show("Takie zajecia juz istnieja w bazie"); connection.Close(); return; } Zajecia zajecia = new Zajecia() { Id_Przedmiotu = przedmiot.Id_Przedmiotu, Id_Sali = sala.Id_Sali, Czas = data, Tydzien = tydzien, Id_Wykladowcy = wykladowca.Id_Wykladowcy }; conjuring.Zajecia.Add(zajecia); conjuring.SaveChanges(); connection.Close(); MessageBox.Show("Dodano poprawnie zajecia przedmiot - " + przedmiot.Nazwa + " w sali " + sala.Numer + " w budynku " + sala.Budynek); this.InsertZajeciaPojedyncze(conjuring, connection, zajecia); }