public async Task <ActionResult> DetailQuestionAsync(Guid id) { if (id == null) { return(RedirectToAction("Quizzes")); } var question = await questionRepo.GetQuestionByIdAsync(id); var choices = await choiceRepo.GetChoicesAsync(id); var answer = await answerRepo.GetAnswerByQuestionAsync(id); AddQuestion_VM vm = new AddQuestion_VM() { QuestionText = question.QuestionText, QuestionAnswer = answer.AnswerText, QuestionChoiceA = choices.Count() < 2 ? null : choices.ElementAt(0).ChoiceText, QuestionChoiceB = choices.Count() < 3 ? null : choices.ElementAt(1).ChoiceText, QuestionChoiceC = choices.Count() < 4 ? null : choices.ElementAt(2).ChoiceText, QuestionId = question.QuestionId, QuizId = question.QuizId }; return(View(vm)); }
// GET: Question/Create public async Task <ActionResult> Create(Guid Id) { Quiz quiz = await quizRepo.GetQuizByIdAsync(Id); ViewBag.Quiz = quiz; AddQuestion_VM vm = new AddQuestion_VM(); vm.QuizId = quiz.QuizID; return(View(vm)); }
public async Task <ActionResult> CreateQuestionAsync(Guid Id) { try { if (Id == null) { return(RedirectToAction("Quizzes")); } Quiz quiz = await quizRepo.GetQuizByIdAsync(Id); ViewBag.Quiz = quiz; AddQuestion_VM vm = new AddQuestion_VM(); vm.QuizId = quiz.QuizID; return(View(vm)); } catch (Exception ex) { Debug.WriteLine(ex.InnerException.Message); return(Redirect("/Error/400")); } }
public async Task <IActionResult> CreateAsync(IFormCollection collection, AddQuestion_VM vm) { try { if (!ModelState.IsValid) { throw new Exception("Validation Error"); } //add question Question question = new Question() { QuizId = vm.QuizId, QuestionId = Guid.NewGuid(), QuestionText = vm.QuestionText }; var result = questionRepo.AddQuestion(question); if (result == null) { return(Redirect("/Error/400")); } //add answer Answer answer = new Answer() { AnswerID = Guid.NewGuid(), AnswerText = vm.QuestionAnswer, QuestionID = question.QuestionId }; var resultAnswer = answerRepo.AddAnswer(answer); if (resultAnswer == null) { return(Redirect("/Error/400")); } //add choice 1 Choice choiceA = new Choice() { ChoiceID = Guid.NewGuid(), ChoiceText = vm.QuestionChoiceA, QuestionID = question.QuestionId }; var resultChoiceA = choiceRepo.AddChoice(choiceA); if (resultChoiceA == null) { return(Redirect("/Error/400")); } //add choice 2 Choice choiceB = new Choice() { ChoiceID = Guid.NewGuid(), ChoiceText = vm.QuestionChoiceB, QuestionID = question.QuestionId }; var resultChoiceB = choiceRepo.AddChoice(choiceB); if (resultChoiceB == null) { return(Redirect("/Error/400")); } //add choice 2 Choice choiceC = new Choice() { ChoiceID = Guid.NewGuid(), ChoiceText = vm.QuestionChoiceC, QuestionID = question.QuestionId }; var resultChoiceC = choiceRepo.AddChoice(choiceC); if (resultChoiceC == null) { return(Redirect("/Error/400")); } return(RedirectToAction(nameof(Index))); } catch (Exception ex) { Debug.WriteLine("unable to create" + ex.Message); ModelState.AddModelError("", "Create mislukt." + ex.Message); return(View(vm)); } }