Ejemplo n.º 1
0
        public bool SaveFeedback(Suvi.Data.Feedback feedback)
        {
            var url = Configuration.WebsiteUrl + "/s/" + feedback.Survey.Code + ".json";

            try {
                var request = HttpWebRequest.Create(url);
                request.ContentType = "application/json";
                request.Method      = "POST";

                using (var dataStream = new StreamWriter(request.GetRequestStream())) {
                    dataStream.Write(JsonConvert.SerializeObject(feedback));
                }

                using (WebResponse response = request.GetResponse()) {
                    // Get a stream representation of the HTTP web response:
                    using (StreamReader reader = new StreamReader(response.GetResponseStream())) {
                        var content = reader.ReadToEnd();
                        var result  = Convert.ToBoolean(JsonConvert.DeserializeObject(content));
                        if (result)
                        {
                            App.Database.SetFeedbackAsSaved(feedback);
                            return(true);
                        }
                    }
                }
            } catch (Exception e) {
                System.Diagnostics.Debug.WriteLine(e.Message);
            }
            return(false);
        }
Ejemplo n.º 2
0
        public void SaveFeedback()
        {
            if (SurveyData.Questions.All(x => x.Answer == null))
            {
                //Do nothing when there is no valid answer in this feedback
                return;
            }

            var feedback = new Suvi.Data.Feedback();

            feedback.SurveyID = SurveyData.ID;
            feedback.Survey   = SurveyData;

            foreach (var question in SurveyData.Questions)
            {
                if (question.Answer != null)
                {
                    feedback.Answers.Add(question.Answer);
                }
            }

            App.Database.SaveFeedback(feedback);

            if (networkManager.IsConnected())
            {
                surveyService.SaveFeedback(feedback);
            }
        }