Exemplo n.º 1
0
        //method: SaveButton_Click
        //description: SaveButton click event
        //params: object sender - sender
        //        EventArgs e - event args
        //returns: void
        private void SaveButton_Click(object sender, EventArgs e)
        {
            SaveButton.Enabled = false;
            EditButton.Enabled = true;

            if (questionNum != 10) {
                NextButton.Enabled = true;
            }

            if (questionNum != 1)  {
                PreviousButton.Enabled = true;
            }

            QuestionTextbox.Enabled = false;
            TextboxA.Enabled = false;
            TextboxB.Enabled = false;
            TextboxC.Enabled = false;
            TextboxD.Enabled = false;
            AnswerGroupbox.Enabled = false;

            //Get A
            answerA = new Answer();
            answerA.answerText = TextboxA.Text;
            answerA.isCorrect = RadioButtonA.Checked;
            //Get B
            answerB = new Answer();
            answerB.answerText = TextboxB.Text;
            answerB.isCorrect = RadioButtonB.Checked;
            //Get C
            answerC = new Answer();
            answerC.answerText = TextboxC.Text;
            answerC.isCorrect = RadioButtonC.Checked;
            //Get D
            answerD = new Answer();
            answerD.answerText = TextboxD.Text;
            answerD.isCorrect = RadioButtonD.Checked;

            //create question
            question = new Question();
            question.answers = new List<Answer>();
            question.questionNumber = questionNum;
            question.questionText = QuestionTextbox.Text;
            question.answers.Add(answerA);
            question.answers.Add(answerB);
            question.answers.Add(answerC);
            question.answers.Add(answerD);

            oldQuestion = new Question();
            oldQuestion.answers = new List<Answer>();
            oldQuestion.answers.Add(oldAnswerA);
            oldQuestion.answers.Add(oldAnswerB);
            oldQuestion.answers.Add(oldAnswerC);
            oldQuestion.answers.Add(oldAnswerD);

            connection.AddOrModifyQuestion(question, oldQuestion);
        }
        //method: GetQuestion
        //description: retrieves question information from the database
        //params: int questionNumber - questionNumber
        //returns: void
        public void GetQuestion(int questionNumber)
        {
            if(stopped) return;

            Task.Factory.StartNew(() => {
                try {
                    lock (socketLock) {

                    //tell service to get questions
                    writer.WriteLine("GET_QUESTION");
                    writer.WriteLine("" + questionNumber);
                    writer.Flush();

                    Question question = new Question();
                    question.questionNumber = questionNumber;

                    //get question
                    string input = reader.ReadLine();
                    if (input.StartsWith("QUESTION:")) {
                        question.questionText = input.Substring("QUESTION:".Length);

                        //get question answers
                        question.answers = new List<Answer>();
                        while (reader.PeekLine().StartsWith("ANSWER:")) {
                            Answer a = new Answer();
                            a.answerText = reader.ReadLine().Substring("ANSWER:".Length);

                            if (reader.PeekLine().StartsWith("ISCORRECT:")){
                                    a.isCorrect = Convert.ToBoolean(reader.ReadLine().Substring("ISCORRECT:".Length));
                                    question.answers.Add(a);
                            }

                        }
                            string writerDump = reader.ReadLine(); //dump for "DONE" string from server
                            owner.Invoke((MethodInvoker)(
                                () => { QuestionReceived(this, question); }
                            ));
                        }
                    }
                } catch(Exception) {
                    stopped = true;
                    socket.Close();
                    owner.Invoke((MethodInvoker)(() => { ConnectionLost(this, new EventArgs()); }));
                }
            });
        }
Exemplo n.º 3
0
        //method: EditButton_Click
        //description: EditButton click event
        //params: object sender - sender
        //        EventArgs e - event args
        //returns: void
        private void EditButton_Click(object sender, EventArgs e)
        {
            SaveButton.Enabled = true;
            EditButton.Enabled = false;
            NextButton.Enabled = false;
            PreviousButton.Enabled = false;

            oldAnswerA = new Answer();
            oldAnswerA.answerText = TextboxA.Text;
            oldAnswerB = new Answer();
            oldAnswerB.answerText = TextboxB.Text;
            oldAnswerC = new Answer();
            oldAnswerC.answerText = TextboxC.Text;
            oldAnswerD = new Answer();
            oldAnswerD.answerText = TextboxD.Text;

            QuestionTextbox.Enabled = true;
            TextboxA.Enabled = true;
            TextboxB.Enabled = true;
            TextboxC.Enabled = true;
            TextboxD.Enabled = true;
            AnswerGroupbox.Enabled = true;
        }