Example #1
0
        public async Task <bool> PostFormAsync(ViewModels.NewFormViewModel form)
        {
            var uri = new Uri(string.Format(Constants.RestUrl, "forms"));

            var body = FormParser.PostFormbuilder(form);

            var content       = new StringContent(body.ToString(), Encoding.UTF8, "application/json");
            var contentString = await content.ReadAsStringAsync();

            Debug.WriteLine("[Form API] - content built: " + contentString);

            try {
                var response = await _client.PostAsync(uri, content);

                if (response.IsSuccessStatusCode)
                {
                    var responseContent = await response.Content.ReadAsStringAsync();

                    Debug.WriteLine("[Form API] - Post result: " + responseContent);
                    return(true);
                }
                else
                {
                    var failedContent = await response.Content.ReadAsStringAsync();

                    Debug.WriteLine("[Form API] - Post response unsuccessful " + failedContent);
                    return(false);
                }
            }
            catch (Exception ex) {
                Debug.WriteLine("[Form API exception]:" + ex.Message);
                return(false);
            }
        }
Example #2
0
        public static JObject PostFormbuilder(ViewModels.NewFormViewModel form)
        {
            JObject body           = new JObject();
            JObject formContent    = new JObject();
            JArray  multipleChoice = new JArray();
            JArray  discursive     = new JArray();

            var multipleChoices = form.MultipleChoiceQuestions;

            formContent.Add("title", form.Title);
            foreach (ViewModels.QuestionDetailViewModel question  in multipleChoices)
            {
                JObject multipleChoiceQuestion = new JObject();
                JArray  multipleChoiceOptions  = new JArray();
                multipleChoiceQuestion.Add("multiple_anwsers", question.MultipleAnswers);
                foreach (string option in question.Options)
                {
                    multipleChoiceOptions.Add(option);
                }
                multipleChoiceQuestion.Add("options", multipleChoiceOptions);
                multipleChoiceQuestion.Add("question", question.Title);

                multipleChoice.Add(multipleChoiceQuestion);
                Debug.WriteLine("[Form API] - Parser 1 " + multipleChoice.ToString());
            }
            Debug.WriteLine("[Form API] - Parser 2 " + multipleChoice.ToString());

            var discursiveQuestions = form.DiscursiveQuestionsTitles;

            foreach (string question in discursiveQuestions)
            {
                JObject discursiveQuestion = new JObject();
                discursiveQuestion.Add("question", question);

                discursive.Add(discursiveQuestion);
            }

            formContent.Add("multipleChoices", multipleChoice);
            formContent.Add("discussive", discursive);
            body.Add("form", formContent);

            return(body);
        }
Example #3
0
 public QuestionDetailPage(ViewModels.NewFormViewModel formViewModel)
 {
     BindingContext = formViewModel;
     InitializeComponent();
 }