public Lecture(int id, Teacher teacher, Class Class, Subject subject) { ID = id; Teacher = teacher; this.Class = Class; Subject = subject; }
//Wanneer er op edit is geklikt, sla al de data op. public void EditClicked() { //Zet de nieuwe klas in de model. Class newClass = (Class)View.cbClass.SelectedItem; if (View.cbClass.SelectedItem == null) { newClass = Model.LocallyEditedExam.Lecture.Class; } //Zet het nieuwe vak in de model. Subject newSubject = (Subject)View.cbSubject.SelectedItem; if (View.cbSubject.SelectedItem == null) { newSubject = Model.LocallyEditedExam.Lecture.Subject; } //Maak indien nodig een nieuwe lecture aan als gegeven voor de nieuwe les. Lecture newLecture = new Lecture(0, (Teacher)MasterController.User, newClass, newSubject); Lecture dbLecture = MasterController.DB.CheckLecture(newLecture); //Bestaat de lecture die we proberen tee maken? if (dbLecture != null) { //De lecture bestaat al, gebruik deze. newLecture = dbLecture; } else { //De lecture bestaat niet, maak een nieuwe aan. tblLecture tblLecture = MasterController.DB.AddLecture(newLecture); Teacher newTeacher = new Teacher(tblLecture.tblTeacher.nr, tblLecture.tblTeacher.firstname, tblLecture.tblTeacher.surname); Class newActualClass = new Class(tblLecture.@class); Subject newActualSubject = new Subject(tblLecture.tblSubject.id, tblLecture.tblSubject.name); Lecture newActualLecture = new Lecture(tblLecture.id, newTeacher, newActualClass, newActualSubject); newLecture = newActualLecture; } //Maak de overige benodigde gegevens voor Exam. Model.LocallyEditedExam.Lecture = newLecture; Model.Exam = Model.LocallyEditedExam; Model.Event.Tag = Model.Exam; //Voeg de nieuwe exam toe aan de database. MasterController.DB.UpdateExam(Model.Exam); //Verander de kleur van elke label in zwart en kijk hoeveel dingen er veranderd zijn. int changeCount = 0; foreach (Control control in ((EditExamView)GetView()).Controls) { if (control is Label) { if (!((Label)control).ForeColor.ToArgb().Equals(Color.Black.ToArgb())) { changeCount++; } ((Label)control).ForeColor = Color.Black; } } //Maak een messagebox aan met alle dingen die gewijzigd zijn en ook de hoeveelheid hierbij. string changes = "wijziging"; if (changeCount > 1 || changeCount == 0) changes += "en"; MessageBox.Show("Wijziging toegepast"); }
//Opslaan van een exam. public void SaveExam() { //Maak een nieuwe lecture aan met de gegevens uit de form. Lecture selectedLecture = new Lecture(0, (Teacher)MasterController.User, (Class)View.cbClasses.SelectedItem, (Subject)View.cbSubjects.SelectedItem); //Kijk of de lecture al in de database staat. Lecture dbLecture = MasterController.DB.CheckLecture(selectedLecture); //Als de lecture al in de database staat, selecteer deze. Zo niet: Maak een nieuwe lecture aan. if (dbLecture != null) { selectedLecture = dbLecture; } else { tblLecture newLecture = MasterController.DB.AddLecture(selectedLecture); Teacher newTeacher = new Teacher(newLecture.tblTeacher.nr, newLecture.tblTeacher.firstname, newLecture.tblTeacher.surname); Class newClass = new Class(newLecture.@class); Subject newSubject = new Subject(newLecture.tblSubject.id, newLecture.tblSubject.name); Lecture newActualLecture = new Lecture(newLecture.id, newTeacher, newClass, newSubject); selectedLecture = newActualLecture; } //Maak gegevens aan om een nieuwe exam te maken. (lecture was hier een deel van) Questionnaire selectedQuestionnaire = (Questionnaire)View.cbQuestionnaires.SelectedItem; DateTime selectedStartTime = new DateTime(View.dtpStarttimeDate.Value.Year, View.dtpStarttimeDate.Value.Month, View.dtpStarttimeDate.Value.Day, View.dtpStarttimeTime.Value.Hour, View.dtpStarttimeTime.Value.Minute, View.dtpStarttimeTime.Value.Second); DateTime selectedEndTime = new DateTime(View.dtpStarttimeDate.Value.Year, View.dtpStarttimeDate.Value.Month, View.dtpStarttimeDate.Value.Day, View.dtpEndtimeTime.Value.Hour, View.dtpEndtimeTime.Value.Minute, View.dtpEndtimeTime.Value.Second); //Maak de nieuwe exam aan met alle hiervoor gemaakte gegevens. Exam currentExam = new Exam(0, selectedQuestionnaire,selectedStartTime, selectedEndTime, selectedLecture); //Voeg de exam toe aan de database. MasterController.DB.AddExam(currentExam); //Laat een dialoogvenster zien dat de gebruiker er op wijst dat zijn data succesvol is toegevoegd. MessageBox.Show("De data is succesvol toegevoegd!"); ClearControls(); }
// Haal een specifieke lecture op met behulp van een ID public Lecture GetLecture(int id) { try { foreach (tblLecture tblLecture in db.tblLectures) //Ga alle lectures langs en return alleen de lecture die overeenkomt met de ID die meegegeven is. { if (tblLecture.id == id) { int lectureId = tblLecture.id; Teacher lectureTeacher = GetTeacher(tblLecture.teacher); Class lectureClass = new Class(tblLecture.@class); Subject lectureSubject = GetSubject(tblLecture.subject); return new Lecture(lectureId, lectureTeacher, lectureClass, lectureSubject); } } return null; } catch (SqlException ex) { MessageBox.Show(ex.Message);//Wanneer er iets fout gaat, laat een messagebox zien met de SQL exception. return null; } }
// Haal alle klassen op public List<Class> GetAllClasses() { try { List<Class> css = new List<Class>(); foreach (tblClass tblclass in db.tblClasses)//Stop alle classes in een lijst en return deze. { Class cs = new Class(tblclass.code); css.Add(cs); } return css; } catch (SqlException ex) { MessageBox.Show(ex.Message); return null; //Wanneer er iets fout gaat, laat een messagebox zien met de SQL exception. } }
// Deze functie wordt gebruikt om het database object tblLecture te converteren naar een Lecture object die vervolgens gebruikt kan worden in het programma public Lecture ConvertDbLecture(tblLecture dbLecture) { Teacher teacher = new Teacher() // Teacher object aanmaken { TeacherNr = dbLecture.tblTeacher.nr, FirstName = dbLecture.tblTeacher.firstname, SurName = dbLecture.tblTeacher.surname }; Class clas = new Class(dbLecture.@class); // Class object aanmaken Subject subject = new Subject(dbLecture.tblSubject.id, dbLecture.tblSubject.name); // Subject object aanmaken Lecture lecture = new Lecture(dbLecture.id, teacher, clas, subject); // Lecture aanmaken met bovenstaande aangemaakte objecten return lecture; }
public Lecture CheckLecture(Lecture lecture) { try { foreach (tblLecture tblLecture in db.tblLectures) //Kijk of een de meegegeven lecture bestaat door ze allemaal door te loopen en te kijken of deze gegevens al in de database staan. { if (tblLecture.subject == lecture.Subject.Id && tblLecture.@class == lecture.Class.Code && tblLecture.tblTeacher.nr == lecture.Teacher.TeacherNr) { int lectureId = tblLecture.id; Teacher lectureTeacher = GetTeacher(tblLecture.teacher); Class lectureClass = new Class(tblLecture.@class); Subject lectureSubject = GetSubject(tblLecture.subject); return new Lecture(lectureId, lectureTeacher, lectureClass, lectureSubject); } } return null; } catch (SqlException ex) { MessageBox.Show(ex.Message);//Wanneer er iets fout gaat, laat een messagebox zien met de SQL exception. return null; } }