Antworten werden geshufflet; Fragen kommen ausgeglichen dran;

This commit is contained in:
2020-06-14 14:51:37 +02:00
parent 0bec6b1952
commit f0ed318454
3 changed files with 9 additions and 3 deletions

View File

@@ -42,7 +42,8 @@ namespace MultipleChoiceTrainer.Controllers
[HttpPost]
[ValidateAntiForgeryToken]
public async Task<IActionResult> Create(QuestionViewModel question)
{
{
question.CreationDate = DateTime.Now;
if (ModelState.IsValid)
{
question.Choices = question.Choices.ToList().Where(e => !string.IsNullOrEmpty(e.Text) && !string.IsNullOrWhiteSpace(e.Text)).ToList();

View File

@@ -60,13 +60,16 @@ namespace MultipleChoiceTrainer.Controllers
}
questions = questions.ToList().AsQueryable();
questions = questions.OrderByDescending(e => e.Answers.Count());
var newestDate = questions.Select(e => e.CreationDate).Max();
questions = questions.OrderByDescending(e => e.Answers.Where(a => a.Date > newestDate).Count());
var minAnswerCount = questions.Select(e => e.Answers.Where(a => a.Date > newestDate).Count()).Min();
questions = questions.Where(e => e.Answers.Where(a => a.Date > newestDate).Count() == minAnswerCount);
questions = questions.Take(10);
vm.CurrentQuestion = questions.ElementAt(_rnd.Next(0, questions.Count()-1));
vm.Choices = vm.CurrentQuestion.Choices.Select(oc => new Choice() { Id = oc.Id, Text = oc.Text }).ToList();
vm.Choices = vm.CurrentQuestion.Choices.Select(oc => new Choice() { Id = oc.Id, Text = oc.Text }).OrderBy(a => Guid.NewGuid()).ToList();
}
public IActionResult Quiz(QuizViewModel viewModel)

View File

@@ -15,6 +15,8 @@ namespace MultipleChoiceTrainer.Models.DataModels
[NotNullOrEmpty]
public string Text { get; set; }
public DateTime CreationDate { get; set; }
public Section Section { get; set; }
public int SectionId { get; set; }