// Pobranie danych do zapisu z bazy danych private DataTable GetDataForFile() { TextfileConstructorParams tfc_params = GetParamsFromUI(); textfileConstructor.SetParams(tfc_params); Zajecia zajecia = (Zajecia)CourseComboBox.SelectedItem; if (zajecia == null) { MessageBox.Show("Prosze wybrać zajęcia."); return(null); } else { Zajecia z = (Zajecia)CourseComboBox.SelectedItem; switch (CheckExportType()) { case ExportType.GRID: return(databaseController.Obecni_pomiedzy(conjuring, connection, zajecia, tfc_params.DateFrom, tfc_params.DateTo)); case ExportType.TABLE: var list = databaseController.GetObecnosc(conjuring, connection) .Where(o => o.Data >= tfc_params.DateFrom && o.Data <= tfc_params.DateTo) .Where(o => o.Zajecia_pojedyncze.Id_Zajec == z.Id_Zajec) .OrderBy(o => o.Data).ToList(); return(textfileConstructor.ConstructObecnoscList(list)); default: return(null); } } }
//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); }
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); } }
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); } } } }
//zwraca listę zajec pojedynczych od do. Wykorzystywane do edycji zajec pojedynczych public List <Zajecia_pojedyncze> Pojedyncz_od_do(TheConjuring_dbEntities1 conjuring, DateTime data_od, DateTime data_do, Zajecia zaj, Wykladowca wyk) { List <Zajecia_pojedyncze> lista = (from z in conjuring.Zajecia join zp in conjuring.Zajecia_pojedyncze on z.Id_Zajec equals zp.Id_Zajec join w in conjuring.Wykladowca on z.Id_Wykladowcy equals w.Id_Wykladowcy where zp.Data_zajec > data_od && zp.Data_zajec < data_do && z.Id_Zajec == zaj.Id_Zajec select zp).Distinct().ToList(); return(lista); }
//Zwraca Table obecnych uczniów pomiędz podanymi datami na danych zajeciach public DataTable Obecni_pomiedzy(TheConjuring_dbEntities1 conjuring, SqlConnection connection, Zajecia zajecia, DateTime od_, DateTime do_) { DataTable dt = new DataTable(); dt.Columns.Add("Imie i nazwisko"); dt.Columns.Add("indeks"); List <Student> qTyp = new List <Student>(); qTyp = (from z in conjuring.Zajecia join zp in conjuring.Zajecia_pojedyncze on zajecia.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 zp.Data_zajec >= od_ && zp.Data_zajec <= do_ orderby s.Indeks select s).Distinct().ToList(); foreach (var s in qTyp) { DataRow new_row = dt.NewRow(); new_row["Imie i nazwisko"] = s.Imie + " " + s.Nazwisko; new_row["indeks"] = s.Indeks; dt.Rows.Add(new_row); } List <Zajecia_pojedyncze> Zajeciapoj = new List <Zajecia_pojedyncze>(); Zajeciapoj = (from z in conjuring.Zajecia join zp in conjuring.Zajecia_pojedyncze on zajecia.Id_Zajec equals zp.Id_Zajec where zp.Data_zajec >= od_ && zp.Data_zajec <= do_ orderby zp.Id_Zajec_pojedynczych select zp).Distinct().OrderBy(z => z.Data_zajec).ToList(); int x = 1, y = 0; foreach (var zp in Zajeciapoj) { try { dt.Columns.Add(zp.Data_zajec.ToString("MM/d")); } catch (Exception ex) { continue; } x++; foreach (var s in qTyp) { var query = conjuring.Obecnosc.Where(o => o.Indeks == s.Indeks && o.Id_Zajec_pojedynczych == zp.Id_Zajec_pojedynczych).FirstOrDefault(); if (query != null) { if (query.Spoznienie == true) { dt.Rows[y][x] = "S"; } else { dt.Rows[y][x] = "O"; } } else { dt.Rows[y][x] = "N"; } y++; } y = 0; } return(dt); }