private Dictionary <string, string> GenerateZoHoPostData(Guid id, FeedbackPart1RequestDTO feedback) { Dictionary <string, string> postData = new Dictionary <string, string>(); postData.Add("id", id.ToString()); postData.Add("main_answer", feedback.main_answer.ToString()); postData.Add("page_url", feedback.page_url); postData.Add("service", "Civilians"); postData.Add("date_submitted", DateTime.UtcNow.ToString("yyyy-MM-dd-HH:mm:ss")); if (feedback.benefit_name != null) { postData.Add("benefit_name", feedback.benefit_name); } if (feedback.benefit_category != null) { postData.Add("benefit_category", feedback.benefit_category); } if (feedback.console_errors != null) { postData.Add("console_errors", feedback.console_errors); } if (feedback.referrer_url != null) { postData.Add("referrer_url", feedback.referrer_url); } if (feedback.screen_height != null) { postData.Add("screen_height", feedback.screen_height.ToString()); } if (feedback.screen_width != null) { postData.Add("screen_width", feedback.screen_width.ToString()); } if (feedback.window_height != null) { postData.Add("window_height", feedback.window_height.ToString()); } if (feedback.window_width != null) { postData.Add("window_width", feedback.window_width.ToString()); } if (feedback.user_agent != null) { postData.Add("user_agent", feedback.user_agent); } if (feedback.main_answer == Enums.FeedbackAnswer.useful_yes) { postData.Add("data_completeness", "complete"); } else { postData.Add("data_completeness", "partial"); } return(postData); }
public ActionResult <FeedbackPart1ResponseDTO> Post(FeedbackPart1RequestDTO feedback) { Guid id = Guid.NewGuid(); Dictionary <string, string> postData = GenerateZoHoPostData(id, feedback); var apiResult = _zoHoService.SubmitFeedback(postData, SubmissionType.Civilians); if (apiResult.Success) { var response = new FeedbackPart1ResponseDTO(); response.id = id; return(Ok(response)); } else { List <APIError> response = new List <APIError>(); response.Add(apiResult.Error); return(BadRequest(response)); } }