Exemple #1
0
 public ActionResult SendAnswerOpen(SolveOpenQuestionViewModel question)
 {
     if (question.SolvedTestId == 0 || question.SolvedQuestionId == 0 || question.QuestionId == 0)
     {
         return(RedirectToAction("Question", new { questionIndex = question.Index, solvedTestId = question.SolvedTestId }));
     }
     if (question.Answer != null)
     {
         this.solvedOpenQuestionService.AddAnswer(question.SolvedQuestionId, question.Answer);
     }
     return(RedirectToAction("Question", new { questionIndex = question.Index + 1, solvedTestId = question.SolvedTestId }));
 }
Exemple #2
0
        public ActionResult Question(int questionIndex, int solvedTestId)
        {
            var solvedTest = this.solvedManualTestForLevelService.GetById(solvedTestId);

            if (questionIndex >= solvedTest.SolvedCloseQuestions.Count)
            {
                if (questionIndex >= solvedTest.SolvedOpenQuestions.Count + solvedTest.SolvedCloseQuestions.Count)
                {
                    return(Json(true, JsonRequestBehavior.AllowGet));
                }
                var solvedOpenQuestion = this.solvedOpenQuestionService.GetOpenQuestionByManualTestForLevelAndIndex(solvedTestId, questionIndex - solvedTest.SolvedCloseQuestions.Count);
                var newOpenQuestion    = new SolveOpenQuestionViewModel
                {
                    Content          = solvedOpenQuestion.OpenQuestion.Content,
                    QuestionId       = solvedOpenQuestion.OpenQuestion.Id,
                    Index            = questionIndex,
                    Images           = this.cloudinaryService.AddPathToQuestionImageName(solvedOpenQuestion.OpenQuestion.Images).ToList(),
                    SolvedTestId     = solvedTestId,
                    SolvedQuestionId = solvedOpenQuestion.Id
                };
                return(PartialView("OpenQuestion", newOpenQuestion));
            }
            var solvedQuestion = this.solvedCloseQuestionService.GetCloseQuestionByManualTestForLevelAndIndex(solvedTestId, questionIndex);
            var newQuestion    = new SolveCloseQuestionViewModel
            {
                Answers = solvedQuestion.CloseQuestion.Answers.ToList().ConvertAll(x => new CloseAnswer
                {
                    Content    = x.Content,
                    Correct    = x.Correct,
                    Id         = x.Id,
                    Images     = this.cloudinaryService.AddPathToQuestionImageName(x.Images),
                    Question   = x.Question,
                    QuestionId = x.QuestionId
                }),
                Content          = solvedQuestion.CloseQuestion.Content,
                QuestionId       = solvedQuestion.CloseQuestion.Id,
                Index            = questionIndex,
                Images           = this.cloudinaryService.AddPathToQuestionImageName(solvedQuestion.CloseQuestion.Images).ToList(),
                SolvedTestId     = solvedTestId,
                SolvedQuestionId = solvedQuestion.Id
            };

            newQuestion.Answers = OtherFunctions.Shuffle <CloseAnswer>(newQuestion.Answers.ToList());
            var correctAnswers = newQuestion.Answers.Where(x => x.Correct == true).Count();

            if (correctAnswers > 1)
            {
                newQuestion.IsMultiple       = true;
                newQuestion.MultipleSelected = new List <MultipleAnswer>();
                foreach (var item in newQuestion.Answers)
                {
                    newQuestion.MultipleSelected.Add(new MultipleAnswer
                    {
                        AnswerId   = item.Id,
                        IsSelected = false
                    });
                }
                newQuestion.MultipleSelected.ToList();
            }
            return(PartialView(newQuestion));
        }