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 alle docenten op public List<Teacher> GetTeachers() { try { List<Teacher> teachers = new List<Teacher>(); //Maak een lijst aan voor alle docenten. foreach (tblTeacher tblTeacher in db.tblTeachers) //Maak een nieuw object aan voor elke docent in de database en voeg deze toe aan de liijst. { Teacher teacher = new Teacher(tblTeacher.nr, tblTeacher.firstname, tblTeacher.surname); teachers.Add(teacher); } return teachers; //Return de lijst met docenten } catch (SqlException ex) { MessageBox.Show(ex.Message);//Wanneer er iets fout gaat, laat een messagebox zien met de SQL exception. return null; } }
// Deze functie wordt gebruikt om het database object tblQuestionnaire te converteren naar een Questionnaire object die vervolgens gebruikt kan worden in het programma public Questionnaire ConvertDbQuestionnaire(tblQuestionnaire dbQuestionnaire) { Teacher author = new Teacher() // Teacher object aanmaken { TeacherNr = dbQuestionnaire.tblTeacher.nr, FirstName = dbQuestionnaire.tblTeacher.firstname, SurName = dbQuestionnaire.tblTeacher.surname }; Subject subject = new Subject(dbQuestionnaire.tblSubject.id, dbQuestionnaire.tblSubject.name); // Subject object aanmaken Questionnaire questionnaire = new Questionnaire(dbQuestionnaire.id) // Questionnaire object aanmaken { Name = dbQuestionnaire.description, Author = author, // Teacher object koppelen Subject = subject, // Subject object koppelen Archived = dbQuestionnaire.archived }; // Loop door alle questions binnen die questionnaire foreach (tblQuestion dbQuestion in dbQuestionnaire.tblQuestions) { Question question = ConvertDbQuestion(dbQuestion); // Converteert database object naar Question // Voeg vragen toe aan onze questionnaire questionnaire.Questions.Add(question); } return questionnaire; }
// 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 Questionnaire AddQuestionnaire(Teacher teacher, Questionnaire questionnaire) { try { tblQuestionnaire dbQuestionnaire = new tblQuestionnaire() // Maak database object aan { author = questionnaire.Author.TeacherNr, description = questionnaire.Name, subject = questionnaire.Subject.Id }; db.tblQuestionnaires.InsertOnSubmit(dbQuestionnaire); // Insert questionnaire in database db.SubmitChanges(); questionnaire.ID = dbQuestionnaire.id; // Pas het ID aan van het Questionnaire object UpdateQuestionnaire(questionnaire); // Maak vervolgens gebruik van de update questionnaire functie om de overige data toe te voegen return GetQuestionnaire(dbQuestionnaire.id); // Return het aangemaakte questionnaire object } catch (SqlException ex) { MessageBox.Show(ex.Message); return null; } }