public MainForm(string login) { InitializeComponent(); databaseController = new DatabaseController(); textfileConstructor = new TextfileConstructor(); /*Stworzenie nowego obiektu StudentRecorder*/ studentRecorder = new StudentRecorder(); studentRecorder.Initialize(); CurrentIndex = -1; studentRecorder.ReadedWithSuccess += RefreshStudentGridView; /*Pobranie imienia i nazwiska zalogowanego*/ wykladowca = conjuring.Wykladowca.Where(w => w.Login_uz == login).SingleOrDefault(); lb_imie_nazwisko_zalogowanego.Text = "Zalogowany jako: " + wykladowca.Imie + " " + wykladowca.Nazwisko; /* Poprawienie formatu wyświetlania czasu w komórkach - wyświetlanie sekund */ dgv_lista_studentow.DefaultCellStyle.Format = "dd /MM/yyyy hh:mm:ss"; /* Wypełnienie comboboxów w zakładce Edytor zajęć*/ RefreshComboBoxes(); /* Wypełnienie comboboxów w zakładce Przeglądanie obecności*/ RefreshComboboxes_PrzegladanieObecnosci(); /* Odświeżenie listy zajęć w zakładce Edytor zajęć */ Refresh_dvg_zajecia(); UstawZajecia(); }
public ZajeciaForm(TheConjuring_dbEntities1 conjuring, SqlConnection connection, Wykladowca wykladowca) { InitializeComponent(); this.conjuring = conjuring; this.connection = connection; this.wykladowca = wykladowca; databaseController = new DatabaseController(); RefreshComboboxes_PrzegladanieObecnosci(); }
private void Zarejestrujbutton_Click(object sender, EventArgs e) { SqlConnection connection = new SqlConnection(@"Data Source=conjuringserv.database.windows.net;Initial Catalog=TheConjuring_db;Integrated Security=False;User ID=Kierownik;Password=KieraS_246;Connect Timeout=30;Encrypt=True;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False"); TheConjuring_dbEntities1 conjuring = new TheConjuring_dbEntities1(); string login = LoginTextBox.Text.Trim(); string log = "Select Id_wykladowcy from Wykladowca Where Login_uz='" + login + "'"; SqlDataAdapter sda = new SqlDataAdapter(log, connection); DataTable table = new DataTable(); sda.Fill(table); if (table.Rows.Count >= 1) { MessageBox.Show("Uzytkownik o takiej nazwie już istnieje"); return; } string haslo, haslo_pon; haslo = HasloTextBox.Text.Trim(); haslo_pon = Haslo2TextBox.Text.Trim(); if (haslo_pon != haslo || haslo == "" || haslo_pon == "") { MessageBox.Show("Hasła różnią się"); return; } string imie = ImieTextBox.Text.Trim(); string nazwisko = NazwiskoTextBox.Text.Trim(); haslo = SHA2.GenerateSHA256String(haslo); Wykladowca wy = new Wykladowca { Imie = imie, Nazwisko = nazwisko, Login_uz = login, Haslo = haslo }; connection.Open(); conjuring.Wykladowca.Add(wy); conjuring.SaveChanges(); connection.Close(); MessageBox.Show("Rejestracja powiodła się"); this.Close(); }
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 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."); } }
//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); }
public DataTable Lista_Obecnosci(TheConjuring_dbEntities1 conjuring, SqlConnection connection, 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 && 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); }
// Zwraca list przedmiotów prowadzonych przez prowadzącego public List <String> GetSubjects(TheConjuring_dbEntities1 conjuring, SqlConnection connection, Wykladowca wykladowca) { connection.Open(); List <Zajecia> lessons = conjuring.Zajecia.Where(z => z.Wykladowca.Id_Wykladowcy == wykladowca.Id_Wykladowcy).ToList(); List <String> subjects = lessons.Select(l => l.Przedmiot.Nazwa).Distinct().ToList(); connection.Close(); return(subjects); }
//zwracanie listy przedmiotów zalogowanego public List <Przedmiot> ListPrzedmiot_Zalogowanego(TheConjuring_dbEntities1 conjuring, Wykladowca wykladowca) { List <Przedmiot> qTyp = new List <Przedmiot>(); qTyp = (from p in conjuring.Przedmiot join z in conjuring.Zajecia on p.Id_Przedmiotu equals z.Id_Przedmiotu join w in conjuring.Wykladowca on z.Id_Wykladowcy equals w.Id_Wykladowcy where w.Id_Wykladowcy == wykladowca.Id_Wykladowcy orderby p.Id_Przedmiotu select p).Distinct().ToList(); return(qTyp); }
//zwracanie listy zajec wykladowcy public List <Zajecia> ListZajec(TheConjuring_dbEntities1 conjuring, SqlConnection connection, Wykladowca wykladowca) { connection.Open(); List <Zajecia> qTyp = new List <Zajecia>(); qTyp = (from z in conjuring.Zajecia where z.Id_Wykladowcy == wykladowca.Id_Wykladowcy orderby z.Id_Sali select z).ToList(); connection.Close(); return(qTyp); }
//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); }
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 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); } }