/// <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); }
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); }