public ActionResult ShowQuiz( [Bind(Include = "Id,AnswerOne,AnswerTwo,AnswerThree,AnswerFour,AnswerFive,AnswerSix,AnswerSeven,AnswerEight,AnswerNine,AnswerTen")] EvaluateQuizBindingModel model) { string userId = this.User.Identity.GetUserId(); int gradeId = this.service.EvaluateQuiz(model, userId); return(this.RedirectToAction("QuizResult", new { id = gradeId })); }
public int EvaluateQuiz(EvaluateQuizBindingModel model, string userId) { int result = 0; result = this.CheckAnswer(model.AnswerOne, result); result = this.CheckAnswer(model.AnswerTwo, result); result = this.CheckAnswer(model.AnswerThree, result); result = this.CheckAnswer(model.AnswerFour, result); result = this.CheckAnswer(model.AnswerFive, result); result = this.CheckAnswer(model.AnswerSix, result); result = this.CheckAnswer(model.AnswerSeven, result); result = this.CheckAnswer(model.AnswerEight, result); result = this.CheckAnswer(model.AnswerNine, result); result = this.CheckAnswer(model.AnswerTen, result); Quiz quiz = this.Context.Quizzes.Find(model.Id); if (quiz == null) { throw new ArgumentNullException(nameof(model.Id), "There is no Quiz with such Id."); } Course course = quiz.Course; User user = this.GetCurrentUser(userId); Grade grade = new Grade() { Student = user, Course = course, Result = result, QuizTitle = quiz.Title }; this.Context.Grades.Add(grade); this.Context.SaveChanges(); return(grade.Id); }