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