Beispiel #1
0
        public void SaveReflectionToolResponse(List <ReflectionToolQuizAttempt> attempt)
        {
            var latestDetails = _reflectionToolAdapter.GetLatestAttemptId();
            var latestId      = latestDetails?.id ?? 0;
            var attemptCount  = _reflectionToolAdapter.GetLatestAttemptByUser(attempt[0].userid);


            foreach (var item in attempt)
            {
                latestId++;

                item.id               = latestId;
                item.attemptcount     = (attemptCount?.attemptcount ?? 0) + 1;
                item.attempttimestamp = DateTime.Now.ToString(CultureInfo.InvariantCulture);
            }
            _reflectionToolAdapter.SaveReflectionToolQuizAttempt(attempt);
        }
        public List <QuizAttempts> GetReflectionToolQuizAttempts(string userId, int attempt, QuizDetails quizDetails)
        {
            var reflectionToolQuizzes = _reflectionToolAdapter.GetReflectionToolQuestions();
            var latestAttempt         = _reflectionToolAdapter.GetLatestAttemptByUser(userId);
            List <ReflectionToolQuizAttempt> result = new List <ReflectionToolQuizAttempt>();

            if (latestAttempt != null)
            {
                if (attempt == 1)
                {
                    result = _reflectionToolAdapter.GetReflectionToolAttempts(userId, latestAttempt.attemptcount);
                }
                else
                {
                    if (latestAttempt.attemptcount > 1)
                    {
                        _reflectionToolAdapter.GetReflectionToolAttempts(userId, latestAttempt.attemptcount - 1);
                    }
                }
            }

            List <QuizAttempts> quizAttempts = new List <QuizAttempts>();

            if (result != null)
            {
                foreach (var quizAttempt in result)
                {
                    QuizAttempts attempts = new QuizAttempts
                    {
                        question        = reflectionToolQuizzes.FirstOrDefault(q => q.id == quizAttempt.questionid)?.question,
                        answer          = quizAttempt.answer,
                        userId          = quizAttempt.userid,
                        selectedoptions = string.Join(",", quizAttempt.selectedoptions),
                        attempt         = quizAttempt.attemptcount,
                        type            = quizDetails.type
                    };
                    quizAttempts.Add(attempts);
                }
            }

            return(quizAttempts);
        }