Пример #1
0
        /// <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);
        }
Пример #2
0
        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));
        }