Example #1
0
		public async Task<UserQuiz> AddUserQuiz(string courseId, bool isRightAnswer, string itemId, string quizId, Guid slideId, string text, string userId, DateTime time, int quizBlockScore, int quizBlockMaxScore)
		{
			var quizzesRepo = new QuizzesRepo(db);
			var currentQuizVersion = quizzesRepo.GetLastQuizVersion(courseId, slideId);
			var userQuiz = new UserQuiz
			{
				CourseId = courseId,
				SlideId = slideId,
				QuizVersionId = currentQuizVersion.Id,
				IsRightAnswer = isRightAnswer,
				ItemId = itemId,
				QuizId = quizId,
				Text = text,
				Timestamp = time,
				UserId = userId,
				QuizBlockScore = quizBlockScore,
				QuizBlockMaxScore = quizBlockMaxScore
			};
			db.UserQuizzes.Add(userQuiz);
			await db.SaveChangesAsync();
			return userQuiz;
		}
Example #2
0
		public QuizVersion FindQuizVersionFromUsersAnswer(string courseId, Guid slideId, string userId)
		{
			var firstUserAnswer = db.UserQuizzes.FirstOrDefault(x => x.UserId == userId && x.SlideId == slideId && !x.isDropped);

			if (firstUserAnswer == null)
				return null;

			/* If we know version which user has answered*/
			if (firstUserAnswer.QuizVersion != null)
				return firstUserAnswer.QuizVersion;

			/* If user's version is null, show first created version for this slide ever */
			var quizzesRepo = new QuizzesRepo(db);
			return quizzesRepo.GetFirstQuizVersion(courseId, slideId);
		}