コード例 #1
0
        public static QuizQuestionAnswerVM SetSubData(QuizQuestionAnswer data, Guid aid)
        {
            var model = QuizQuestionAnswerVM.MToVM(data);

            model.Images = ImageLinkStorageVM.MsToVMs(ImageLinkStorageService.GetByOIDAPI(data.ID, aid));
            return(model);
        }
コード例 #2
0
ファイル: QuizGameController.cs プロジェクト: sirfi/fiQuiz
        private async Task SelectQuizQuestionAnswers(QuizQuestion quizQuestion)
        {
            if (quizQuestion.QuizQuestionAnswers == null)
            {
                quizQuestion.QuizQuestionAnswers = new List <QuizQuestionAnswer>();
            }
            List <QuestionAnswer> questionAnswers = await _context.QuestionAnswers.Where(x => x.QuestionId == quizQuestion.QuestionId).OrderByDescending(x => x.IsCorrect).ThenBy(x => Guid.NewGuid())
                                                    .Take(AnswerOptions.Count).ToListAsync();

            questionAnswers = questionAnswers.OrderBy(x => Guid.NewGuid()).ToList();
            for (var answerIndex = 0; answerIndex < AnswerOptions.Count; answerIndex++)
            {
                QuizQuestionAnswerOption answerOption       = AnswerOptions[answerIndex];
                QuestionAnswer           questionAnswer     = questionAnswers[answerIndex];
                QuizQuestionAnswer       quizQuestionAnswer = new QuizQuestionAnswer
                {
                    QuizQuestion = quizQuestion,
                    Answer       = questionAnswer,
                    Option       = answerOption
                };
                if (questionAnswer.IsCorrect)
                {
                    quizQuestion.CorrectAnswer = answerOption;
                }

                quizQuestion.QuizQuestionAnswers.Add(quizQuestionAnswer);
            }
        }
コード例 #3
0
        public static QuizQuestionAnswerVM SetSurveyFormat(QuizQuestionAnswer model, Guid qiid, int takerCount, Guid aid)
        {
            var temp     = SetSubData(model, aid);
            var answered = QuizUserAnswerService.GetByQQIDQAID(model.QuizQuestionsID, model.ID).Count();

            temp.Percent = takerCount > 0? (answered / takerCount) * 100:0;
            return(temp);
        }