/// <summary> /// Get Results of the quiz /// </summary> /// <param name="idquiz"></param> /// <param name="studentId"></param> /// <returns></returns> public ResultQuizzModel GetResult(int quizEntryID, int quizId) { ResultQuizzModel results = new ResultQuizzModel(); try { //Quiz Quiz quiz = QuizManager.GetQuizById(quizId); //Build the model result results.Results = GetResultsForUniqueQuestions(quizId, quizEntryID) + GetResultsForMultipleQuestions(quizId, quizEntryID); results.PointValueTotal = GetMaxPointOfQuiz(quizId); results.Percent = ((results.Results * 100) / (results.PointValueTotal)); results.QuestionIncorrect = results.PointValueTotal - results.Results; // results.MaxScoreSuccess = quiz.MaxScoreSuccess.HasValue ? quiz.MaxScoreSuccess.Value : 0; //Pass of Fail??? if the result > MaxScoreSucess = Pass if not Fail if (results.Results > results.PointValueTotal / 2)//PASS { results.ResultMessage = "Success"; } else//Fail { results.ResultMessage = "Fail"; } results.QuizId = quizId; return(results); } catch (Exception ex) { ExceptionManager.HandleException(ex, PolicyNameType.ExceptionReplacing); } return(results); }
public ActionResult SubmitQuiz(string values, int quizId, int questionId, string questionType) { int quizEntryId = 0; ResultQuizzModel resultQuiz = new ResultQuizzModel(); if (HttpContext.Cache["QuizEntry_Id"] != null) { quizEntryId = Convert.ToInt32(HttpContext.Cache["QuizEntry_Id"].ToString()); AddAnswer(values, quizEntryId, questionId, questionType); resultQuiz = _quizService.GetResult(quizEntryId, quizId); } //User Name StudentViewModel student = _studentService.GetStudentByMemberShipId(CurrentUser.Id); resultQuiz.Name = student.FirstName + " " + student.LastName; //Time Taken if (!string.IsNullOrEmpty(GetTimeStarQuiz())) { TimeSpan timestar = TimeSpan.Parse(GetTimeStarQuiz()); resultQuiz.TimeTaken = (DateTime.Now.TimeOfDay - timestar); } //Add results to the table quizEntry //IMPORTANT QuizEntryViewModel quizentryModel = new QuizEntryViewModel(); quizentryModel.Id = quizEntryId; quizentryModel.Quiz_Id = quizId; quizentryModel.Student_Id = CurrentUser.Id; quizentryModel.QuizResult = resultQuiz.Results; _quizService.updateQuizEntry(quizentryModel); RemoveQuizEntryCache(); return(PartialView("_QuizzResults", resultQuiz)); }