コード例 #1
0
ファイル: QuizController.cs プロジェクト: bubber11/JiTU-CS
        /// <summary>
        /// validates data and if good saves it
        /// </summary>
        /// <param name="quiz">quiz to submit</param>
        /// <exception cref="Exception">data not correct.</exception>
        public static void SubmitQuiz(QuizData quiz)
        {
            QuestionEntity temp = new QuestionEntity();

            quiz.Questions.AddRange(temp.ReadQuestions(quiz));
            temp.Dispose();
            //Validate data
            if (quiz.Due < quiz.Open)
            {
                throw new Exception("The due date must be after the open date.");
            }

            if (quiz.Questions.Count == 0)
            {
                throw new Exception("The quiz must contain at least one question.");
            }

            // Validation for questions takes place when creating the individual questions

            //Now that we validated save the quiz
            SaveQuiz(quiz);
        }
コード例 #2
0
        public QuizView(Objective objective) : base(objective)
        {
            InitializeComponent();
            questionsToDeleteOnSave = new List <QuestionData>();

            //set title
            lblMessage.Text = GlobalData.currentQuiz.Name;

            QuestionEntity temp = new QuestionEntity();

            GlobalData.currentQuiz.Questions.AddRange(temp.ReadQuestions(GlobalData.currentQuiz));

            //create our questions and add them
            questionBoxes = new List <QuestionBox>();
            for (int i = 0; i < GlobalData.currentQuiz.Questions.Count; i++)
            {
                QuestionBox questionBox = new QuestionBox(GlobalData.currentQuiz.Questions[i], i + 1, myObjective);
                questionBox.Disposed += new EventHandler(questionBox_Disposed);
                questionBoxes.Add(questionBox);
            }

            pnlMain.Controls.AddRange(questionBoxes.ToArray());

            //add objective specific objects
            #region Edit Quiz
            if (myObjective == Objective.ManageQuizzes)
            {
                BackToolStripMenuItem.Visible = false;
                //
                // btnAddQuestion
                //
                this.btnAddQuestion = new Button();
                this.btnAddQuestion.BackgroundImage       = global::JiTU_CS.Properties.Resources.add_question;
                this.btnAddQuestion.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom;
                this.btnAddQuestion.Name = "btnAddQuestion";
                this.btnAddQuestion.Size = new System.Drawing.Size(32, 32);
                this.btnAddQuestion.UseVisualStyleBackColor   = true;
                this.btnAddQuestion.FlatAppearance.BorderSize = 0;
                this.btnAddQuestion.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
                this.btnAddQuestion.Click    += new EventHandler(btnAddQuestion_Click);
                pnlMain.Controls.Add(btnAddQuestion);
            }
            #endregion
            #region Take Quiz
            else if (myObjective == Objective.TakeQuiz)
            {
                mnsMain.Visible = false;
                //
                // btnSubmit
                //
                this.btnSubmit      = new Button();
                this.btnSubmit.Name = "btnSubmit";
                this.btnSubmit.UseVisualStyleBackColor = true;
                this.btnSubmit.Text   = "Submit";
                this.btnSubmit.Width  = 100;
                this.btnSubmit.Click += new EventHandler(btnSubmit_Click);
                pnlMain.Controls.Add(btnSubmit);
            }
            #endregion
            #region View All Results
            else if (myObjective == Objective.ViewAllResults)
            {
                saveToolStripMenuItem.Visible    = false;
                discardToolStripMenuItem.Visible = false;
            }
            #endregion

            //finish up by installing resize handler
            this.pnlMain.Resize += new System.EventHandler(this.pnlMain_Resize);
        }