示例#1
0
 public static QuestionSerializer AskForQuestionList(int maxQuestions, int difficulty, Category category)
 {
     string request = "GetQuestionList:maxQuestions=" + maxQuestions.ToString() + "&difficulty=" +
                      difficulty.ToString();
     int categoryID;
     if (category == null)
     {
         categoryID = 0;
     }
     else
     {
         categoryID = category.Id;
     }
     request += "&category_id=" + categoryID.ToString();
     BinaryFormatter formatter = new BinaryFormatter();
     MemoryStream stream = GetResponse(request);
     try
     {
         return formatter.Deserialize(stream) as QuestionSerializer;
     }
     catch (NullReferenceException)
     {
         Console.WriteLine("No questions received");
         return null;
     }
 }
示例#2
0
 public static int SubmitCategory(Category category)
 {
     return 0;
 }
        private void createQuestionButton_Click(object sender, EventArgs e)
        {
            //Resetting labels
            categoryWarningLabel.Text = "";
            questionWarningLabel.Text = "";
            warningLabel.Text = "";

            bool preventSubmitting = false;
            string category = "";
            int difficulty = 0;
            string questionTitle = "";
            List<string> answers = new List<string>();
            int correctAnswer = 0;
            //category
            if (newCategoryCheckBox.Checked)
            {
                string newCategoryTextBoxText = preventEmptyBox(newCategoryTextBox.Text.ToString());
                if (newCategoryTextBoxText == "" || newCategoryTextBoxClickCount == 0)
                {
                    categoryWarningLabel.Text = "Neįrašėte kategorijos pavadinimo!";
                    preventSubmitting = true;
                }
                else
                {
                    category = newCategoryTextBoxText;
                }
            }
            else
            {
                category = categoryComboBox.SelectedValue.ToString();
            }
            //difficulty
            difficulty = Convert.ToInt32(difficultyComboBox.SelectedValue.ToString());
            //questionTitle
            string questionTitleTextBoxText = preventEmptyBox(questionTitleTextBox.Text.ToString());
            if (questionTitleTextBoxText == "" || questionTitleTextBoxClickCount == 0)
            {
                questionWarningLabel.Text = "Neįrašėte klausimo pavadinimo!";
                preventSubmitting = true;
            }
            else
            {
                questionTitle = questionTitleTextBoxText;
            }
            //answerValidation
            if (answerTextBoxList.Count == 0)
            {
                warningLabel.Text = "Nėra atsakymų!";
                preventSubmitting = true;
            }
            else if (answerTextBoxList.Count == 1)
            {
                warningLabel.Text = "Yra tik 1 atsakymas!";
                preventSubmitting = true;
            }
            else
            {
                foreach (TextBox T in answerTextBoxList)
                {
                    string answerText = preventEmptyBox(T.Text);
                    if (answerText == "")
                    {
                        warningLabel.Text = "Yra tuščių atsakymų!";
                        preventSubmitting = true;
                    }
                    answers.Add(answerText);
                }
            }

            //RadioButtonValidation
            if (warningLabel.Text == "")
            {
                bool radioButtonCheckValidator = false;
                for (int i = 0; i < answerRadioButtonList.Count; i++)
                {
                    if (answerRadioButtonList[i].Checked)
                    {
                        radioButtonCheckValidator = true;
                        correctAnswer = i;
                    }
                }
                if (!radioButtonCheckValidator)
                {
                    warningLabel.Text = "Nėra teisingo atsakymo!";
                    preventSubmitting = true;
                }
            }

            //Submitting
            if (!preventSubmitting)
            {
                //category
                Category questionCategory = new Category();
                int categoryID = 0;
                if (newCategoryCheckBox.Checked)
                {
                    questionCategory.Title = category;
                    questionCategory.Alias = category;
                    questionCategory.Description = newCategoryDescriptionTextBox.Text;
                    questionCategory.Created = DateTime.Now;
                    questionCategory.Modified = DateTime.Now;
                    categoryID = DataSender.DataSender.SubmitCategory(questionCategory);
                }
                else
                {
                    List<Category> allCategories = DataSender.DataSender.GetAllCategories();
                    questionCategory = allCategories[categoryComboBox.SelectedIndex];
                    //TODO questionCategory.Modified
                    categoryID = questionCategory.Id;
                }
                //Question
                int questionID = 0;
                Question question = new Question();
                question.Title = questionTitleTextBoxText;
                question.Alias = questionTitleTextBoxText;
                question.Description = answers[correctAnswer];
                question.Created = DateTime.Now;
                question.Modified = DateTime.Now;
                question.Difficulty = (int)difficultyComboBox.SelectedValue;
                questionID = DataSender.DataSender.SubmitQuestion(question, categoryID);

                List<Option> questionOptions = new List<Option>();
                for (int i = 0; i < answers.Count; i++)
                {
                    Option optionForQuestion = new Option();
                    optionForQuestion.Text = answers[i];
                    questionOptions.Add(optionForQuestion);
                }
                DataSender.DataSender.SubmitOption(questionOptions, questionID);

                Console.WriteLine(category);
                Console.WriteLine(difficulty.ToString());
                Console.WriteLine(questionTitle);
                foreach (string T in answers)
                {
                    Console.WriteLine(T);
                }

                Console.WriteLine("Correct answer: " + correctAnswer + " : " + answers[correctAnswer]);
            }
        }