public async Task <QuizResultDTO> SubmitQuiz(long quizId, long userId, QuizModel quizModel) { var quiz = await Unit.Quizzes.GetFullQuiz(quizId); var result = QuizResultGenerator.GetResult(quiz, quizModel); var score = Unit.QuizScores.Get(userId, quizId); if (score == null) { await Unit.QuizScores.Add(new QuizScore { UserId = userId, QuizId = quizId, Score = result.Points }); await Unit.Complete(); } return(result); }
public QuizzesService(IUnitOfWork unit, IMapper mapper, QuizResultGenerator quizResultGenerator, IFilesService files) : base(unit, mapper) { QuizResultGenerator = quizResultGenerator; Files = files; }