예제 #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);
        }
예제 #2
0
        public QuizDetailsViewModel ToQuizDetailsViewModel(Quiz quiz)
        {
            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 = ToQuizViewModel(quiz);


            return(vm);
        }
예제 #3
0
        public async Task GetQuizByIdAsyncShouldReturnCorrectModel()
        {
            var quizId = await this.CreateQuizAsync("Test quiz", null, "testquizpass");

            var model = new QuizDetailsViewModel()
            {
                Id          = quizId,
                Name        = "Test quiz",
                Description = null,
                Timer       = null,
                Password    = "******",
                EventName   = null,
            };

            var resultModel = await this.Service.GetQuizByIdAsync <QuizDetailsViewModel>(quizId);

            Assert.IsAssignableFrom <QuizDetailsViewModel>(resultModel);
            Assert.Equal(model.Id, resultModel.Id);
            Assert.Equal(model.Name, resultModel.Name);
            Assert.Equal(model.Description, resultModel.Description);
            Assert.Equal(model.Timer, resultModel.Timer);
            Assert.Equal(model.Password, resultModel.Password);
            Assert.Equal(model.EventName, resultModel.EventName);
        }