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); }
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; }
public ActiveQuizController( IQuizService quizService, IQuizResultService quizResultService, IAnswerService answerService, IQuestionService questionService ) { _quizService = quizService; _quizResultService = quizResultService; _answerService = answerService; _questionService = questionService; }
public ModelConverter( IQuizCategoryService quizCategorytService, IQuizResultService quizResultService, IAnswerService answerService, IQuestionService questionService, IQuizService quizService) { _quizCategorytService = quizCategorytService; _quizResultService = quizResultService; _answerService = answerService; _questionService = questionService; _quizService = quizService; }
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; }
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; }
public QuizReviewController( IQuizService quizService, IQuizResultService quizResultService, IQuestionService questionService, IAnswerService answerService, IRepo <QuizRating> quizRatingRepo ) { _quizService = quizService; _quizResultService = quizResultService; _questionService = questionService; _answerService = answerService; _quizRatingRepo = quizRatingRepo; }
public QuizResultController(IQuizResultService quizResultService) { _quizResultService = quizResultService; }
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); }