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); }
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); } }