private void WriteResponses(int responseHeaderId)
{
foreach (ISection section in this.GetSections())
{
foreach (IQuestion question in section.GetQuestions())
{
if (question.GetAnswers().Count == 0)
{
// Open ended question.
foreach (UserResponse response in question.Responses)
{
this.WriteResponseEntry(responseHeaderId, section, question, null, response.AnswerValue);
}
}
else
{
foreach (IAnswer answer in question.GetAnswers())
{
if (question.Responses.Count == 1)
{
foreach (UserResponse response in question.Responses)
{
string responseText = null;
if (response.AnswerValue == answer.Text)
{
responseText = answer.Text;
}
this.WriteResponseEntry(responseHeaderId, section, question, answer, responseText);
}
}
else
{
UserResponse response = question.FindResponse(answer);
this.WriteResponseEntry(responseHeaderId, section, question, answer, response.AnswerValue);
}
}
}
}
}
}