コード例 #1
0
        public QuestionDS.ExamQuestionDataTable FindQuestionByExamId(int?id)
        {
            QuestionManager manager = new QuestionManager();

            QuestionDS.ExamQuestionDataTable table = new QuestionDS.ExamQuestionDataTable();
            table.Merge(manager.FindQuestionByExamId(id));
            return(table);
        }
コード例 #2
0
 public void TestFindQuestionByExamId()
 {
     QuestionDS.ExamQuestionDataTable table = questionManager.FindQuestionByExamId(examId);
     foreach (var item in table)
     {
         Assert.AreEqual("how do you do?", item.title);
     }
 }
コード例 #3
0
ファイル: FormTakeExam.cs プロジェクト: timelessmemory/OESWCF
        //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();
        }
コード例 #4
0
        //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;
            }
        }