public static QuestionDefinition[] BuildQuestions() { QuestionDefinition[] questions = new QuestionDefinition[4]; Array.Copy(Utility.Shuffle(m_Definitions), questions, 4); return(questions); }
private ActionResult AddOrEdit(QuestionViewModel questionViewModel, int?quizId, bool edit) { var quiz = this.Db.QuizzesDefinitions.Find(quizId); if (quiz == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } if (this.ModelState.IsValid) { for (var i = 0; i < questionViewModel.Answers.Count; i++) { questionViewModel.Answers[i].IsCorrect = false; } questionViewModel.Answers[questionViewModel.CorrectAnswerId].IsCorrect = true; if (edit) { this.Db.QuestionsDefinitions.Delete(questionViewModel.Id); } var newQuestion = new QuestionDefinition(); this.MapFromModel(questionViewModel, newQuestion); newQuestion.QuizDefinition = quiz; this.Db.QuestionsDefinitions.Add(newQuestion); this.Db.SaveChanges(); return(this.RedirectToAction("Index", new { quizId = quizId })); } return(this.View("AddEdit", questionViewModel)); }
public static QuestionDefinition[] BuildQuestions() { QuestionDefinition[] questions = new QuestionDefinition[4]; Array.Copy( Utility.Shuffle( m_Definitions ), questions, 4 ); return questions; }
private void MapFromModel(QuestionViewModel questionViewModel, QuestionDefinition newQuestion) { newQuestion.QuestionText = questionViewModel.QuestionText; for (var i = 0; i < questionViewModel.Answers.Count; i++) { var item = questionViewModel.Answers[i]; var answ = new AnswerDefinition() { Text = item.Text, Position = i, QuestionDefinition = newQuestion, IsCorrect = item.IsCorrect }; this.Db.AnswerDefinitions.Add(answ); } }
public async Task AddQuestionAsync(QuestionDefinition question) { Create(question.DeepCopyTo <Entities.QuestionDefinition>()); }
public async Task UpdateQuestionAsync(QuestionDefinition question) { Upsert(question.DeepCopyTo <Entities.QuestionDefinition>()); }