コード例 #1
0
ファイル: Database.cs プロジェクト: westre/Petje-op
        public tblQuestion AddMultipleChoiceQuestion(MultipleChoiceQuestion createdQuestion, int questionnaireId)
        {
            try
            {
                tblQuestion question = new tblQuestion //Maak de question aan met de gegevens van de nieuwe equestion.
                {
                    description = createdQuestion.Description,
                    questionnaire = questionnaireId,
                    questionindex = createdQuestion.QuestionIndex
                };

                if (createdQuestion.TimeRestriction != TimeSpan.Zero) //Wanneer er een timerestriction op zit, geef deze ook mee.
                {
                    question.timerestriction = createdQuestion.TimeRestriction.Ticks;
                }

                List<tblAnswer> dbAnswers = new List<tblAnswer>(); //Maak een lijst met antwoorden aan.

                foreach (Answer answer in createdQuestion.AnswerOptions) //Voeg alle antwoorden van de vraag toe aan een lijst
                {
                    tblAnswer newAnswer = AddAnswer(answer);//Kijk of het antwoord toegevoegd kan worden.
                    dbAnswers.Add(newAnswer);//Voeg de nieuwe antwoorden toe aan de database.
                    if (answer == createdQuestion.CorrectAnswer)
                    {
                        question.correctanswer = newAnswer.id;//Kijk voor elk antwoord of dit het goede antwoord is, zo ja, geef het mee.
                    }
                }

                db.tblQuestions.InsertOnSubmit(question);
                db.SubmitChanges();

                foreach (tblAnswer dbAnswer in dbAnswers)
                {
                    LinkAnswerToQuestion(question.id, ConvertDbAnswer(dbAnswer));
                }

                return question;
            }
            catch (SqlException ex) { MessageBox.Show(ex.Message); return null; } //Wanneer er iets fout gaat, laat een messagebox zien met de SQL exception.
        }
コード例 #2
0
ファイル: Database.cs プロジェクト: westre/Petje-op
        // Deze functie wordt gebruikt om het database object tblQuestion te converteren naar een MultipleChoiceQuestion object die vervolgens gebruikt kan worden in het programma
        public MultipleChoiceQuestion ConvertDbQuestion(tblQuestion dbQuestion)
        {
            MultipleChoiceQuestion question = new MultipleChoiceQuestion(dbQuestion.description) // Questionnaire object aanmaken
            {
                ID = dbQuestion.id,
                QuestionIndex = dbQuestion.questionindex
            };

            if (dbQuestion.timerestriction != null) // Checkt als timerestriction is ingeschakeld
                question.TimeRestriction = TimeSpan.FromTicks((long)dbQuestion.timerestriction); // Converteert deze naar C#'s TimeSpan
            else
                question.TimeRestriction = TimeSpan.Zero; // Zo niet wordt de TimeSpan op nul gezet

            // Doorloop alle antwoordopties die gekoppeld zijn aan een vraag
            foreach (tblAnsweroption dbAnswerOption in dbQuestion.tblAnsweroptions)
            {
                Answer answer = ConvertDbAnswer(dbAnswerOption.tblAnswer); // Converteerd database object naar Answer
                question.AnswerOptions.Add(answer); // Voegt het antwoord toe als antwoordoptie aan het Question object

                if (dbQuestion.correctanswer == answer.ID)
                    question.CorrectAnswer = answer; // Als het database object ook het correcte antwoord is van de Question wordt deze als correct question ingesteld
            }
            return question;
        }