Пример #1
0
        private QuizGameGetQuestionResponse CreateQuestionResponse(QuizQuestion quizQuestion)
        {
            QuizGameGetQuestionResponse response = new QuizGameGetQuestionResponse();

            response.QuizId         = quizQuestion.QuizId;
            response.QuizQuestionId = quizQuestion.Id;
            response.CategoryName   = quizQuestion.Question.Category.Name;
            response.QuestionText   = HttpUtility.HtmlDecode(quizQuestion.Question.QuestionText);
            response.Answers        = quizQuestion.QuizQuestionAnswers
                                      .Select(x => new QuizGameAnswer {
                Answer = HttpUtility.HtmlDecode(x.Answer.Answer), AnswerOption = x.Option
            }).ToList();
            response.AnswerTime = _options.QuizAnswerTime;
            return(response);
        }
Пример #2
0
        public async Task <ActionResult <QuizGameGetQuestionResponse> > GetQuestion(QuizGameGetQuestionRequest request)
        {
            QuizQuestion quizQuestion;
            ActionResult actionResult;

            (_, quizQuestion, _, actionResult) = await GetQuestionBase(request.QuizId, request.QuizQuestionId);

            if (actionResult != null)
            {
                return(actionResult);
            }

            if (quizQuestion.ShowedAt != null)
            {
                return(BadRequest("Soru tekrar görüntülenemez."));
            }

            QuizGameGetQuestionResponse response = CreateQuestionResponse(quizQuestion);

            quizQuestion.ShowedAt = DateTime.Now;
            await _context.SaveChangesAsync();

            return(Ok(response));
        }