@model IEnumerable @{ ViewData["Title"] = "Questionnaire Management"; }
@if (TempData["Success"] != null) { } @if (TempData["Error"] != null) { } @if (TempData["Warning"] != null) { } @if (Model.Any()) {
@Model.Count() Total Questionnaires
@Model.Count(q => q.Status == QuestionnaireStatus.Draft) Draft
@Model.Count(q => q.Status == QuestionnaireStatus.Published) Published
@Model.Count(q => q.Status == QuestionnaireStatus.Archived) Archived
@Model.Sum(q => q.ActiveQuestionCount) Total Questions
@Model.Count(q => q.HasResponses) With Responses
} @if (Model.Any()) {
@foreach (var item in Model.Select((questionnaire, index) => new { Questionnaire = questionnaire, Index = index })) {
@switch (item.Questionnaire.Status) { case QuestionnaireStatus.Draft:
Draft
break; case QuestionnaireStatus.Published:
Live
break; case QuestionnaireStatus.Archived:
Archived
break; }
ID: @item.Questionnaire.Id

@item.Questionnaire.Title

Created
@item.Questionnaire.CreatedDate.ToString("MMM dd")
Questions
@item.Questionnaire.ActiveQuestionCount
Responses
@(item.Questionnaire.HasResponses ? "Yes" : "None")
@if (item.Questionnaire.PublishedDate.HasValue) {
Published: @item.Questionnaire.PublishedDate.Value.ToString("MMM dd, yyyy")
}
@(item.Questionnaire.Questions?.Count ?? 0) Question@(item.Questionnaire.Questions?.Count != 1 ? "s" : "")
@if (item.Questionnaire.Questions?.Any() == true) {

Quick Preview

@{ var firstQuestion = item.Questionnaire.Questions.FirstOrDefault(); var totalQuestions = item.Questionnaire.Questions.Count; } @if (firstQuestion != null) {
Question: @firstQuestion.Text Type: @firstQuestion.Type
@if (firstQuestion.Answers?.Any() == true) {
@foreach (var answer in firstQuestion.Answers.Take(3)) { @answer.Text } @if (firstQuestion.Answers.Count > 3) { +@(firstQuestion.Answers.Count - 3) more }
}
} @if (totalQuestions > 1) {
+ @(totalQuestions - 1) more question@(totalQuestions - 1 != 1 ? "s" : "")
}
} else {

No Questions Yet

This questionnaire doesn't have any questions yet.

}
Details @switch (item.Questionnaire.Status) { case QuestionnaireStatus.Draft: Edit @if (item.Questionnaire.ActiveQuestionCount > 0) { } else {
Publish
} Delete Set Logic break; case QuestionnaireStatus.Published: Edit* Send Set Logic break; case QuestionnaireStatus.Archived:
Read Only
@if (!item.Questionnaire.HasResponses) { } else {
Revert
}
Send
Set Logic
break; }
@if (item.Questionnaire.Status == QuestionnaireStatus.Published) {
* Limited editing - questions with responses cannot be fully modified
}
}
} else {

No Questionnaires Yet

Get started by creating your first questionnaire to collect valuable insights.

Create Your First Questionnaire
}