public QuestionDS.ExamQuestionDataTable FindQuestionByExamId(int?id) { QuestionManager manager = new QuestionManager(); QuestionDS.ExamQuestionDataTable table = new QuestionDS.ExamQuestionDataTable(); table.Merge(manager.FindQuestionByExamId(id)); return(table); }
public void TestFindQuestionByExamId() { QuestionDS.ExamQuestionDataTable table = questionManager.FindQuestionByExamId(examId); foreach (var item in table) { Assert.AreEqual("how do you do?", item.title); } }
//load first question private void FormTakeExam_Load(object sender, EventArgs e) { questionCount = FormPassValue.questionQuantity; questionTable = questionManager.FindQuestionByExamId(FormPassValue.examId); FormPassValue.questionTable = questionTable; FillQuestionData(questionNumber, questionCount); this.lblEachPoint.Text = FormPassValue.eachQuestionPoint.ToString(); }
//show result detail private void FormResultDetails_Load(object sender, EventArgs e) { this.Owner.Hide(); //prepare data questionCount = FormPassValue.questionQuantity; questionTable = FormPassValue.questionTable; answerList = FormPassValue.answerList; correctAnswerList = FormPassValue.correctAnswerList; //fill exam information FillData(); //isCorrectIcon parameter int isCorrectIconX = 130; int isCorrectIconY = 290; int isCorrectIconWidth = 30; int isCorrectIconHeight = 30; //question serial parameter Font questionSerialAndTitleFont = new Font(Constants.Arial, 15); int questionSerialX = 190; int questionSerialY = 290; int questionSerialWidth = 30; int questionSerialHeight = 25; Color fontColor = Color.FromArgb(10, 10, 10); Color correctBorderColor = Color.FromArgb(254, 153, 1); Color incorrectBorderColor = Color.FromArgb(185, 31, 31); //question title parameter int questionTitlelblHeight = 30; int questionTitlelblWidth = 700; int questionTitlelblX = 230; int questionTitlelblY = 290; //public parameter Font answerOptionFont = new Font(Constants.Arial, 13.5f); int rdoWidth = 40; int rdoHeight = 20; int answerlblWidth = 720; int answerlblHeight = 20; //answerA radio position int answerArdoX = 190; int answerArdoY = 350; //answerA item position int answerAX = 240; int answerAY = 350; int answerBrdoX = 190; int answerBrdoY = 390; int answerBX = 240; int answerBY = 390; int answerCrdoX = 190; int answerCrdoY = 430; int answerCX = 240; int answerCY = 430; int answerDrdoX = 190; int answerDrdoY = 470; int answerDX = 240; int answerDY = 470; //question position offset int positionYOffset = 250; Color optionBgColor = Color.White; bool isChecked = false; for (int i = 1; i <= questionCount; i++) { string title = Constants.emptyStr; string answerA = Constants.emptyStr; string answerB = Constants.emptyStr; string answerC = Constants.emptyStr; string answerD = Constants.emptyStr; var question = from q in questionTable where Convert.ToInt32((q[NO])) == i select new { No = (q[NO]), q.title, q.answer_a, q.answer_b, q.answer_c, q.answer_d }; foreach (var item in question) { title = item.title; answerA = item.answer_a; answerB = item.answer_b; answerC = item.answer_c; answerD = item.answer_d; } int tmpNum = i - 1; if (tmpNum < answerList.Count && answerList[tmpNum].Equals(correctAnswerList[tmpNum])) { //correct icon CreateIsCorrectIcon(OesUI.Properties.Resources.ICN_Right_15x15, isCorrectIconWidth, isCorrectIconHeight, isCorrectIconX, isCorrectIconY); //questionSerial CreateQuestionSerial(questionSerialAndTitleFont, i.ToString(), questionSerialHeight, questionSerialWidth, questionSerialX, questionSerialY, correctBorderColor, fontColor); } else { //inCorrect icon CreateIsCorrectIcon(OesUI.Properties.Resources.ICN_Wrong_15x15, isCorrectIconWidth, isCorrectIconHeight, isCorrectIconX, isCorrectIconY); //incorrect questionSerial CreateQuestionSerial(questionSerialAndTitleFont, i.ToString(), questionSerialHeight, questionSerialWidth, questionSerialX, questionSerialY, incorrectBorderColor, fontColor); } //questionTitle CreateQuestionTitle(questionSerialAndTitleFont, title, questionTitlelblHeight, questionTitlelblWidth, questionTitlelblX, questionTitlelblY); //answerARadio string tmpCorrectAnswer = correctAnswerList[tmpNum]; string tmpUserAnswer = Constants.emptyStr; if (tmpNum < answerList.Count) { tmpUserAnswer = answerList[tmpNum]; } isChecked = ChooseUserAnswerRadio(tmpUserAnswer, Constants.aOption, isChecked); CreateAnswerRadio(isChecked, questionSerialAndTitleFont, Constants.aOption, rdoWidth, rdoHeight, answerArdoX, answerArdoY); //answerAItem optionBgColor = ChooseWhichColor(tmpCorrectAnswer, Constants.aOption, optionBgColor); CreateAnswerItem(optionBgColor, answerOptionFont, answerA, answerlblWidth, answerlblHeight, answerAX, answerAY); //answerBRadio isChecked = ChooseUserAnswerRadio(tmpUserAnswer, Constants.bOption, isChecked); CreateAnswerRadio(isChecked, questionSerialAndTitleFont, Constants.bOption, rdoWidth, rdoHeight, answerBrdoX, answerBrdoY); //answerBItem optionBgColor = ChooseWhichColor(tmpCorrectAnswer, Constants.bOption, optionBgColor); CreateAnswerItem(optionBgColor, answerOptionFont, answerB, answerlblWidth, answerlblHeight, answerBX, answerBY); //answerCRadio isChecked = ChooseUserAnswerRadio(tmpUserAnswer, Constants.cOption, isChecked); CreateAnswerRadio(isChecked, questionSerialAndTitleFont, Constants.cOption, rdoWidth, rdoHeight, answerCrdoX, answerCrdoY); //answerCItem optionBgColor = ChooseWhichColor(tmpCorrectAnswer, Constants.cOption, optionBgColor); CreateAnswerItem(optionBgColor, answerOptionFont, answerC, answerlblWidth, answerlblHeight, answerCX, answerCY); //answerDRadio isChecked = ChooseUserAnswerRadio(tmpUserAnswer, Constants.dOption, isChecked); CreateAnswerRadio(isChecked, questionSerialAndTitleFont, Constants.dOption, rdoWidth, rdoHeight, answerDrdoX, answerDrdoY); //answerDItem optionBgColor = ChooseWhichColor(tmpCorrectAnswer, Constants.dOption, optionBgColor); CreateAnswerItem(optionBgColor, answerOptionFont, answerD, answerlblWidth, answerlblHeight, answerDX, answerDY); //position offset isCorrectIconY += positionYOffset; questionSerialY += positionYOffset; questionTitlelblY += positionYOffset; answerArdoY += positionYOffset; answerAY += positionYOffset; answerBrdoY += positionYOffset; answerBY += positionYOffset; answerCrdoY += positionYOffset; answerCY += positionYOffset; answerDrdoY += positionYOffset; answerDY += positionYOffset; } }