Пример #1
0
        public static List <Models.Form> GetFormsParser(string content)
        {
            List <Models.Form> forms = new List <Models.Form>();
            var formsArray           = JArray.Parse(content);

            foreach (JObject form in formsArray)
            {
                string title = form["title"].ToString();
                string id    = form["id"].ToString();
                Debug.WriteLine("[Form Parser] - GET - Title: " + title);

                List <MultipleChoiceQuestion> multipleChoiceQuestions = new List <MultipleChoiceQuestion>();
                List <DiscursiveQuestion>     discursiveQuestions     = new List <DiscursiveQuestion>();

                if (form["multipleChoices"] != null)
                {
                    JArray multipleChoices = (JArray)form["multipleChoices"];
                    Debug.WriteLine("[Form Parser] - GET - Multiple Choices: " + multipleChoices.ToString());

                    foreach (JObject question in multipleChoices)
                    {
                        string questionTitle   = question["question"].ToString();
                        bool   multipleAnswers = question["multiple_anwsers"].ToObject <bool>();
                        Debug.WriteLine("[Form Parser] - GET - Multiple answers: " + multipleAnswers.ToString());

                        List <Option> optionsList = new List <Option>();
                        JArray        options     = (JArray)question["options"];
                        foreach (string optionText in options)
                        {
                            Option option = new Option {
                                OptionText = optionText
                            };
                            optionsList.Add(option);
                            Debug.WriteLine("[Form Parser] - GET - Option: " + option.OptionText);
                        }
                        Debug.WriteLine("[Form Parser] - GET - Question Title: " + questionTitle);

                        MultipleChoiceQuestion multipleQuestion = new MultipleChoiceQuestion(questionTitle, multipleAnswers);
                        foreach (Option option in optionsList)
                        {
                            multipleQuestion.Add(option);
                        }

                        multipleChoiceQuestions.Add(multipleQuestion);
                    }
                }

                if (form["discussive"] != null)
                {
                    JArray discursives = (JArray)form["discussive"];

                    foreach (JObject question in discursives)
                    {
                        Debug.WriteLine("[Form Parser] - GET - Discursive: " + question);
                        var questionTitle = question["question"].ToString();
                        discursiveQuestions.Add(new DiscursiveQuestion {
                            Question = questionTitle
                        });
                    }
                }

                forms.Add(new Models.Form {
                    Title = title,
                    MultipleChoiceQuestions = multipleChoiceQuestions,
                    DiscursiveQuestions     = discursiveQuestions,
                    RemoteId = id
                });
            }

            return(forms);
        }