Example #1
0
        public static QuizDetailsViewModel ToQuizDetailsViewModel(this Quiz quiz,
                                                                  IQuestionService questions,
                                                                  IAnswerService answers,
                                                                  IQuizResultService quizResultService,
                                                                  IRepo <QuizRating> quizRatings)
        {
            var vm = new QuizDetailsViewModel();

            var stats = quizResultService.GetStatistics(quiz.Id);

            vm.AvgLevel        = stats.AvgLevel;
            vm.AvgRating       = stats.AvgRating;
            vm.AvgScore        = stats.AvgScore;
            vm.TotalPoints     = stats.TotalPoints;
            vm.AvgScorePercent = stats.AvgScorePercent;
            vm.AvgTime         = stats.AvgTime;
            vm.AvgTimePercent  = stats.AvgTimePercent;
            vm.TotalTime       = stats.TotalTime;


            vm.Quiz = quiz.ToQuizViewModel(questions, answers);


            return(vm);
        }
Example #2
0
 private void CreateServices()
 {
     QuizService         = new QuizService(QuizRepo, QuizRatingRepo);
     QuestionService     = new QuestionService(QuestionRepo);
     AnswerService       = new AnswerService(AnswerRepo);
     QuizCategoryService = new QuizCategoryService(QuizCategoryRepo);
     QuizResultService   = new QuizResultService(QuizRepo, QuizResultRepo, QuizRatingRepo);
 }
 public QuizReviewController(
     IQuizResultService quizResultService,
     IQuestionService questionService,
     IRepo <QuizRating> quizRatingRepo, ModelConverter modelConverter)
 {
     _quizResultService = quizResultService;
     _questionService   = questionService;
     _quizRatingRepo    = quizRatingRepo;
     _modelConverter    = modelConverter;
 }
 public ActiveQuizController(IQuizService quizService, IQuizResultService quizResultService,
                             IUserActivityService userActivityService,
                             ModelConverter modelConverter, ViewModelConverter viewModelConverter)
 {
     _quizService         = quizService;
     _quizResultService   = quizResultService;
     _userActivityService = userActivityService;
     _modelConverter      = modelConverter;
     _viewModelConverter  = viewModelConverter;
 }
Example #5
0
 public ActiveQuizController(
     IQuizService quizService,
     IQuizResultService quizResultService,
     IAnswerService answerService,
     IQuestionService questionService
     )
 {
     _quizService       = quizService;
     _quizResultService = quizResultService;
     _answerService     = answerService;
     _questionService   = questionService;
 }
Example #6
0
 public ModelConverter(
     IQuizCategoryService quizCategorytService,
     IQuizResultService quizResultService,
     IAnswerService answerService,
     IQuestionService questionService,
     IQuizService quizService)
 {
     _quizCategorytService = quizCategorytService;
     _quizResultService    = quizResultService;
     _answerService        = answerService;
     _questionService      = questionService;
     _quizService          = quizService;
 }
Example #7
0
 public QuizzesController(IQuizService quizService,
                          IWorkContext workContext,
                          IAchievementService achievementService,
                          IStudentActivityService studentActivityService,
                          IStudentService studentService,
                          IQuizResultService quizResultService)
 {
     this._quizService            = quizService;
     this._workContext            = workContext;
     this._achievementService     = achievementService;
     this._studentActivityService = studentActivityService;
     this._studentService         = studentService;
     this._quizResultService      = quizResultService;
 }
Example #8
0
 public QuizzesController(
     IAnswerService answerService,
     IQuestionService questionService,
     IQuizCategoryService quizCategoryService,
     IRepo <QuizRating> quizRatingRepo,
     IQuizResultService quizResultService,
     IQuizService quizService)
 {
     _questionService     = questionService;
     _answerService       = answerService;
     _quizCategoryService = quizCategoryService;
     _quizRatingRepo      = quizRatingRepo;
     _quizResultService   = quizResultService;
     _quizService         = quizService;
 }
Example #9
0
        public QuizReviewController(
            IQuizService quizService,
            IQuizResultService quizResultService,
            IQuestionService questionService,
            IAnswerService answerService,
            IRepo <QuizRating> quizRatingRepo

            )
        {
            _quizService       = quizService;
            _quizResultService = quizResultService;
            _questionService   = questionService;
            _answerService     = answerService;
            _quizRatingRepo    = quizRatingRepo;
        }
Example #10
0
 public QuizResultController(IQuizResultService quizResultService)
 {
     _quizResultService = quizResultService;
 }
Example #11
0
        public static QuizReviewViewModel ToQuizReviewViewModel(this QuizResult quizResult,
                                                                IQuizService quizzes,
                                                                IAnswerService answers,
                                                                IQuizResultService quizResultService)
        {
            var vm        = new QuizReviewViewModel();
            var quiz      = quizzes.Get(quizResult.QuizId);
            var questions = quiz.Questions.Where(x => x.QuizId == quizResult.QuizId);



            var qDetails = new List <QuizReviewItemViewModel>();

            foreach (var userAnswer in quizResult.Answers)
            {
                var answer          = answers.GetAll().FirstOrDefault(x => x.Id == userAnswer.AnswerId);
                var isAnswerCorrect = answer != null && answer.IsCorrect;
                var question        = questions.First(x => x.Id == userAnswer.QuestionId);
                var questionText    = question.Text;
                var pointsEarned    = isAnswerCorrect ? question.Points : 0;
                qDetails.Add(new QuizReviewItemViewModel()
                {
                    IsCorrectAnswer = isAnswerCorrect,
                    QuestionId      = userAnswer.QuestionId,
                    QuestionText    = questionText,
                    PointsEarned    = pointsEarned,
                });
            }


            var    allowPoints = quiz.AllowPoints;
            string scoreText;

            if (allowPoints)
            {
                var totalPoints  = questions.Sum(x => x.Points);
                var scoredPoints = quizResult.Score * totalPoints / 100;
                scoreText = scoredPoints + " / " + totalPoints + " points";
            }
            else
            {
                scoreText = quizResult.Score + "%";
            }

            vm.Items = qDetails;


            vm.ResultId     = quizResult.Id;
            vm.Score        = quizResult.Score;
            vm.EllapsedTime = quizResult.EllapsedTime;
            vm.UserAnswers  = new List <UserAnswerViewModel>();
            vm.UserAnswers.AddRange(
                quizResult.Answers.Select(x => new UserAnswerViewModel()
            {
                AnswerId   = x.AnswerId,
                QuestionId = x.QuestionId,
                Value      = x.Value
            }));



            vm.ScoreText           = scoreText;
            vm.EllapsedTimePercent = (int)((double)quizResult.EllapsedTime / (double)questions.Sum(x => x.EstimatedTime) * 100);
            vm.QuizId = quizResult.QuizId;


            vm.RelativeScore = quizResultService.GetRelativeScore(quiz.Id, quizResult.Score);
            vm.RelativeTime  = quizResultService.GetRelativeTime(quiz.Id, quizResult.EllapsedTime);
            return(vm);
        }