예제 #1
0
파일: Database.cs 프로젝트: westre/Petje-op
 public tblExam AddExam(Exam createdExam)
 {
     try
     {
         tblExam exam = new tblExam(); //Maak een exam aan en voeg alle gegevens toe n.a.v. de meegegeven exam.
         exam.starttime = createdExam.Starttime;
         exam.endtime = createdExam.Endtime;
         exam.id = createdExam.Examnr;
         exam.questionnaire = createdExam.Questionnaire.ID;
         exam.lecture = createdExam.Lecture.ID;
         db.tblExams.InsertOnSubmit(exam); //Voeg de exam toe aan de database en submit de changes.
         db.SubmitChanges();
         return exam;
     }
     catch (SqlException ex)
     {
         MessageBox.Show(ex.Message); return null; //Wanneer er iets fout gaat, laat een messagebox zien met de SQL exception.
     }
 }
예제 #2
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();
 }
예제 #3
0
파일: Database.cs 프로젝트: westre/Petje-op
        //Update een exam
        public void UpdateExam(Exam updatedExam)
        {
            try {
                tblExam tblExam = (from exam in db.tblExams //Selecteer de exam die geupdate moet worden.
                                   where exam.id == updatedExam.Examnr
                                   select exam).FirstOrDefault();
                tblExam.questionnaire = updatedExam.Questionnaire.ID;
                tblExam.lecture = updatedExam.Lecture.ID;
                tblExam.starttime = updatedExam.Starttime;
                tblExam.endtime = updatedExam.Endtime;//Pas alle gegevens aan en submit alle changes.

                db.SubmitChanges();
            }
            catch (SqlException ex) {
                MessageBox.Show(ex.Message); //Wanneer er iets fout gaat, laat een messagebox zien met de SQL exception.
            }
        }
예제 #4
0
파일: Database.cs 프로젝트: westre/Petje-op
        public Boolean QuestionContainsAnswerFromUser(Exam Exam, Student student, Question Question)
        {
            db = new DatabaseDataContext();

            tblResult result = db.tblResults.SingleOrDefault(g => g.student == student.StudentNr && g.exam == Exam.Examnr && g.question == Question.ID);

            if (result != null)
            {
                return true;
            }

            return false;
        }
예제 #5
0
파일: Database.cs 프로젝트: westre/Petje-op
        // Haal alle afnamemomenten op die gegeven worden door een specifieke docent
        public List<Exam> GetExamsByTeacher(string teacherId)
        {
            try
            {
                List<Exam> exams = new List<Exam>();

                foreach (tblExam tblExam in db.tblExams) //Ga alle exams langs en kijk of de teachernummer overeenkomt.
                {
                    Lecture lecture = GetLecture(tblExam.lecture);

                    if (lecture.Teacher.TeacherNr == teacherId)
                    {
                        Questionnaire questionnaire = GetQuestionnaire(tblExam.questionnaire);

                        Exam exam = new Exam(tblExam.id, questionnaire, tblExam.starttime.Value, tblExam.endtime.Value,
                            lecture);

                        exams.Add(exam);//Wanneer de teachernummer overeenkomt, voeg de exam toe aan de lijst.
                    }
                }

                return exams;//Return alle gevonden exams.
            } catch (SqlException ex)
            {
                MessageBox.Show(ex.Message);//Wanneer er iets fout gaat, laat een messagebox zien met de SQL exception.
                return null;
            }
        }
예제 #6
0
파일: Database.cs 프로젝트: westre/Petje-op
        public List<Exam> GetExamsByQuestionnaire(Questionnaire q)
        {
            try
            {
            List<Exam> exams1 = new List<Exam>();
            List<tblExam> exams = (from tblExam in db.tblExams
                                       where tblExam.tblQuestionnaire.id == q.ID
                                       select tblExam).ToList();//Haal alle exams op waar het ID van de questionnaire overeenkomt met de questionnaireID van de exam.
            foreach (tblExam exam in exams)
            {
                Exam newExam = new Exam(exam.id, q, exam.starttime.Value, exam.endtime.Value, //Maak voor elke exam een examobject aan zodat je deze kan teruggeven.
                GetLecture(exam.lecture));
                exams1.Add(newExam);
            }

            return exams1;//Wanneer er iets fout gaat, laat een messagebox zien met de SQL exception.
            }
            catch (SqlException ex)
            {
                MessageBox.Show(ex.Message);
                return null;
            }
        }
예제 #7
0
파일: Database.cs 프로젝트: westre/Petje-op
        // hier worden de afnamemomenten uit de database gehaald
        public List<Exam> GetAllExams()
        {
            try
            {
                List<Exam> exams = new List<Exam>();

                foreach (tblExam tblExam in db.tblExams)
                {
                    Questionnaire questionnaire = GetQuestionnaire(tblExam.questionnaire);

                    Exam exam = new Exam(tblExam.id, questionnaire, tblExam.starttime.Value, tblExam.endtime.Value,
                        GetLecture(tblExam.lecture));

                    exams.Add(exam);
                }

                return exams;
            }
            catch (SqlException ex)
            {
                MessageBox.Show(ex.Message);//Wanneer er iets fout gaat, laat een messagebox zien met de SQL exception.
                return null;
            }
        }
예제 #8
0
 // hier worden de resultaten weergegeven
 public void ShowResults(Exam ex)
 {
     View.listQuestions.Items.Clear();
     ClearChart();
     AddQuestionsToList(ex.Questionnaire.Questions);
 }