/**
         * Called When the MainTrainingPage is loaded.
         * Generate a question, either from the file system, or from the
         * database, and show that to the user. If a question is generated
         * it is also saved to the database.
         * */
        private void load()
        {
            // Set the welcome label
            lbl_welcome.Text = stateManager.getTrainingName() + " for " + stateManager.getUserName();

            // Load a question for the current training
            loadQuestion();
        }
Ejemplo n.º 2
0
        /**
         * Saves a question to the database, returns the questions id
         */
        public int saveQuestion(string question, string correctAnswer, ArrayList allAnswers, StateManager stateManager, QA_TYPE questionType)
        {
            // check if allAnswers is shorter than 15, if it is, we'll fill it in with blanks
            while (allAnswers.Count < 15)
            {
                allAnswers.Add("");
            }

            string tquery = "INSERT INTO question (question, correctAnswer, answer1, answer2, answer3, answer4, answer5, answer6, " +
                            "answer7, answer8, answer9, answer10, answer11, answer12, answer13, answer14," +
                            "answer15, trainingName  ) VALUES('" + question + "', '" + correctAnswer + "', '" +
                            allAnswers[0] + "', '" + allAnswers[1] + "', '" + allAnswers[2] + "', '" +
                            allAnswers[3] + "', '" + allAnswers[4] + "', '" + allAnswers[5] + "', '" +
                            allAnswers[6] + "', '" + allAnswers[7] + "', '" + allAnswers[8] + "', '" +
                            allAnswers[9] + "', '" + allAnswers[10] + "', '" + allAnswers[11] + "', '" +
                            allAnswers[12] + "', '" + allAnswers[13] + "', '" + allAnswers[14] + "', '" +
                            stateManager.getTrainingName() + "');";

            insert(tquery);

            tquery = "SELECT * from question where question = '" + question + "' AND answer12 = '" + allAnswers[11] + "'; ";
            List <NameValueCollection> idList = query(tquery);


            return(int.Parse(idList[0]["id"]));
        }
Ejemplo n.º 3
0
        public string getRandomQuestionID(StateManager stateManager)
        {
            string queryString = "SELECT question.id AS questionID" +
                                 " FROM question " +
                                 " WHERE trainingName='" + stateManager.getTrainingName() + "'" +
                                 " ORDER BY RANDOM() " +
                                 " LIMIT 1; ";

            List <NameValueCollection> returnVal = query(queryString);
            string questionID = returnVal[0]["questionID"];

            return(questionID);
        }
Ejemplo n.º 4
0
        public List <NameValueCollection> getWorstQuestions(StateManager stateManager, int numQuestions)
        {
            string userName     = stateManager.getUserName();
            string trainingName = stateManager.getTrainingName();

            string queryString = "select user.id AS userID, question.id AS questionID, (user_answers_question.numCorrect*1.0 / user_answers_question.numAttempt*1.0) AS pctCorrect, " +
                                 " numAttempt, numCorrect, numWrong, trainingName, userName, " +
                                 " question.question, correctAnswer, answer1, answer2, answer3, answer4, answer5, answer6, answer7, " +
                                 " answer8, answer9, answer10, answer11, answer12, answer13, answer14, answer15 " +
                                 "from user_answers_question, user, question " +
                                 "WHERE user_answers_question.userID = user.id " +
                                 " AND user_answers_question.questionID = question.id " +
                                 " AND pctCorrect NOT NULL " +
                                 " AND userName = '******' " +
                                 " AND trainingName = '" + trainingName + "' " +
                                 " ORDER BY pctCorrect " +
                                 " LIMIT " + numQuestions + "; ";

            return(query(queryString));
        }