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 })); }
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)); }