@model Response @{ ViewData["Title"] = "Response Details"; } @{ int numberindex = 0; }

Response Details

@Model.UserName (@Model.UserEmail)

Complete survey response review

Submitted on: @Model.SubmissionDate.ToString("yyyy-MM-ddTHH:mm:ss")
@foreach (var detail in Model.ResponseDetails) {
@detail.QuestionType.ToString()

Question @((numberindex = numberindex + 1)): @detail.Question.Text

@switch (detail.QuestionType) { case QuestionType.Text: case QuestionType.Open_ended:
Response:
@detail.TextResponse
break; case QuestionType.Multiple_choice: case QuestionType.CheckBox: case QuestionType.TrueFalse:
Selected Answer@(detail.ResponseAnswers.Count > 1 ? "s" : ""):
@foreach (var answer in detail.Question.Answers) { var isSelected = detail.ResponseAnswers.Any(ra => ra.AnswerId == answer.Id);
@answer.Text
} @* Display "Other" text response if it exists *@ @if (!string.IsNullOrEmpty(detail.TextResponse)) {
Other: @detail.TextResponse
}
break; case QuestionType.Rating:
User Selected Rating:
@foreach (var answer in detail.Question.Answers.OrderBy(a => a.Id)) { var isSelected = detail.ResponseAnswers.Any(ra => ra.AnswerId == answer.Id);
@answer.Text
}
break; case QuestionType.Likert:
Selected Response:
@foreach (var answer in detail.Question.Answers.OrderBy(a => a.Id)) { var isSelected = detail.ResponseAnswers.Any(ra => ra.AnswerId == answer.Id);
@answer.Text
}
break; case QuestionType.Matrix:
Selected Response:
@foreach (var answer in detail.Question.Answers) { var isSelected = detail.ResponseAnswers.Any(ra => ra.AnswerId == answer.Id); }
Option Selected
@answer.Text
break; case QuestionType.Ranking:
Original Order
@foreach (var answer in detail.Question.Answers) { var userIndex = detail.ResponseAnswers.FindIndex(ra => ra.AnswerId == answer.Id) + 1;
@userIndex
@answer.Text
}
User's Ranking
@for (int i = 0; i < detail.ResponseAnswers.Count; i++) { var ra = detail.ResponseAnswers[i]; var answer = detail.Question.Answers.FirstOrDefault(a => a.Id == ra.AnswerId);
@(i + 1)
@answer.Text
}
break; case QuestionType.Image:
Image Selection:
@foreach (var answer in detail.Question.Answers) { var isSelected = detail.ResponseAnswers.Any(ra => ra.AnswerId == answer.Id);
@if (isSelected) {
} Response Image
}
break; case QuestionType.Slider:
Slider Response:
@foreach (var answer in detail.Question.Answers) { var responseAnswer = detail.ResponseAnswers.FirstOrDefault(ra => ra.AnswerId == answer.Id); int sliderValue = 0; Int32.TryParse(responseAnswer?.ResponseDetail.TextResponse, out sliderValue);
@answer.Text
0 100
User Response: @sliderValue
}
break; default:
Unsupported Question Type

This question type is not yet supported in the response viewer.

break; }
} Back to List