public string GetSurveyData()

in certified-connectors/Spring Global/script.csx [52:104]


    public string GetSurveyData(string surveyExecutionData)
    {
        JArray surveyExecutionArrayJson = JArray.Parse(surveyExecutionData);
        JObject surveyExecutionJson = (JObject)surveyExecutionArrayJson.First();
        JObject resultJson = new JObject();
        resultJson["Id"] = surveyExecutionJson["id"];
        resultJson["surveyId"] = surveyExecutionJson["surveyId"];
        resultJson["SurveyName"] = (string)surveyExecutionJson.SelectToken("$.surveyPublication.survey.name");
        resultJson["Date"] = surveyExecutionJson["executionDate"];
        resultJson["userId"] = surveyExecutionJson["userId"];
        List<JToken> questions = surveyExecutionJson.SelectTokens("$.pages..parameters[:10000]").ToList();

        int i = 0;
        foreach (JObject question in questions)
        {
            i++;
            int order = i;
            string questionText = question.Value<string>("name");
            string questionType = (string)question.SelectToken("parameterType.code");
            resultJson[$"Question{order}"] = questionText;

            switch (questionType)
            {
                case "CHR":
                case "NUM":
                case "SCO":
                case "RAD":
                    resultJson[$"Answer{order}"] = question["value"];
                    break;
                case "CHK":
                    JObject selectedOptions = new JObject();
                    resultJson[$"Answer{order}"] = selectedOptions;
                    JArray optionsJson = (JArray)question["options"];

                    int optionNumber = 0;
                    foreach (JObject optionJson in optionsJson)
                    {
                        optionNumber++;
                        selectedOptions[$"Option{optionNumber}Text"] = optionJson["text"];
                        selectedOptions[$"Option{optionNumber}Checked"] = optionJson["checked"];
                        selectedOptions[$"Option{optionNumber}Id"] = optionJson["id"];
                    }
                    break;
                //case "IMG":
                default:
                    break;
            }

        }

        string result = resultJson.ToString(); ;
        return result;
    }