Beispiel #1
0
 public Exam(int id, Questionnaire questionnaire, DateTime starttime, DateTime endtime, Lecture lecture)
 {
     Examnr = id;
     Questionnaire = questionnaire;
     Starttime = starttime;
     Endtime = endtime;
     Lecture = lecture;
 }
Beispiel #2
0
        //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");
        }
Beispiel #3
0
 public tblLecture AddLecture(Lecture Lecture)
 {
     try
     {
         tblLecture lecture = new tblLecture();
             //Maak een lecture aan en voeg alle gegevens toe n.a.v. de megegeven lecture.
         lecture.@class = Lecture.Class.Code;
         lecture.subject = Lecture.Subject.Id;
         lecture.teacher = Lecture.Teacher.TeacherNr;
         db.tblLectures.InsertOnSubmit(lecture); //Voeg de lecture toe aan de database en submit de changes.
         db.SubmitChanges();
         return lecture;
     }
     catch (SqlException ex)
     {
         MessageBox.Show(ex.Message); return null; //Wanneer er iets fout gaat, laat een messagebox zien met de SQL exception.
     }
 }
Beispiel #4
0
 //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();
 }
Beispiel #5
0
        // 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;
        }
Beispiel #6
0
        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;
            }
        }