public ActionResult Reply(QuestionViewModel question, int[] isTrueAnswers, string[] answers) { if (isTrueAnswers != null && isTrueAnswers.Where(x => x == 0).Count() != answers.Count()) { var listAnswers = new List <AnswerViewModel>(); listAnswers.ToAnswersModel(isTrueAnswers, answers); var fullQuestion = new FullQuestionViewModel { Id = question.Id, QuestionContent = question.QuestionContent, QuantityPoint = question.QuantityPoint, TestId = question.TestId, Answers = listAnswers }; resultService.SaveResult(fullQuestion.ToBllQuestion(), User.Identity.Name); var nextQuestion = questionService.MoveToNextQuestion(question.TestId, User.Identity.Name)?.ToMvcQuestion(); if (nextQuestion == null) { return(RedirectToAction("GetResultTesting", new { idOfTest = question.TestId })); } if (Request.IsAjaxRequest()) { return(PartialView("QuestionContentPartial", nextQuestion)); } } return(RedirectToAction("GetATestQuestion", new { idTest = question.TestId })); }
public ActionResult Create(QuestionViewModel question, int[] isTrueAnswers, string[] answers) { if (isTrueAnswers != null && isTrueAnswers.Count() != answers.Count()) { if (question.QuantityPoint <= 0) { ModelState.AddModelError("QuantityPoint", "Incorrect quantity point input"); return(View(question)); } var listAnswers = new List <AnswerViewModel>(); listAnswers.ToAnswerModel(isTrueAnswers, answers); if (questionService.GetQuestionByParams(question.TestId, question.QuestionContent) == null) { var fullQuestion = new FullQuestionViewModel { Id = question.Id, QuestionContent = question.QuestionContent, QuantityPoint = question.QuantityPoint, TestId = question.Id, Answers = listAnswers }; questionService.CreateQuestion(fullQuestion.ToBllQuestion()); return(RedirectToAction("Index", "Test", new { nameTest = testService.GetTestById(question.TestId).TestName })); } } return(View(question)); }
public ActionResult Edit(FullQuestionViewModel question, int[] isTrueAnswers, string[] answers) { if (isTrueAnswers != null && isTrueAnswers.Count() != answers.Count()) { var listAnswers = new List <AnswerViewModel>(); listAnswers.ToAnswerModel(isTrueAnswers, answers); listAnswers.ToList().ForEach(x => x.QuestionId = question.Id); question.Answers = listAnswers; if (question.QuantityPoint <= 0) { ModelState.AddModelError("QuantityPoint", "Incorrect quantity point input"); return(View(question)); } questionService.UpdateQuestion(question.ToBllQuestion()); } return(RedirectToAction("Show", "Test", new { idOfTest = question.TestId })); }