private static IList<SurveyResultsDetailsviewModel> MapResponses(ICollection<Respondent> Respondents, IQuestionRepository questionRepository) { IList<SurveyResultsDetailsviewModel> results = new List<SurveyResultsDetailsviewModel>(); foreach (Core.Model.Respondent respondent in Respondents) { SurveyResultsDetailsviewModel result = new SurveyResultsDetailsviewModel(); result.DateTaken = string.Format("{0:d}", respondent.DateTaken.ToString()); result.Answers = new List<SurveyResultsAnswersViewModel>(); foreach (Core.Model.ActualResponse response in respondent.Responses) { // Get the descriptions for the questions and corresponding answer string[] resultDescriptions = questionRepository.GetQuestionAndAnswerDescriptions(response.Question, response.Response); // Instatiate and populate the result SurveyResultsAnswersViewModel answer = new SurveyResultsAnswersViewModel(); answer.QuestionNumber = Convert.ToInt64(resultDescriptions[0]); answer.QuestionText = resultDescriptions[1]; answer.AnswerNumber = response.Response; answer.AnswerText = resultDescriptions[2]; // Add the result to the answers result.Answers.Add(answer); } results.Add(result); } return results; }