Ejemplo n.º 1
0
 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 }));
 }
Ejemplo n.º 2
0
        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));
        }
Ejemplo n.º 3
0
        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 }));
        }