public async Task <OpenTdbResponse> GetQuestions(OpenTdbRequest request) { var response = new OpenTdbResponse(); _queryString = "?amount=" + request.NumberOfQuestionsToGenerate; AssembleQueryString(request); try { var httpResponse = await _client.GetAsync(_queryString); if (httpResponse.IsSuccessStatusCode) { response.ReasonPhrase = httpResponse.ReasonPhrase; response.StatusCode = httpResponse.StatusCode; var responseContent = await httpResponse.Content.ReadAsStringAsync(); var quizQuestionsAsJsonObject = PrepareTextForJsonObjectification(responseContent); response.QuizQuestions = MapJsonToQuizQuestions(quizQuestionsAsJsonObject); } } catch (Exception ex) { _logger.LogError("Exception: " + ex.ToString()); response.QuizQuestions.Add( new QuizQuestionDto { Question = "Could not find a question... Please refresh to try again." }); } return(response); }
private GetRandomQuizQuestionResponse FormRandomQuizQuestionResponseFromOpenTdbResponse(OpenTdbResponse openTdbResponse) { var randomQuestionResponse = new GetRandomQuizQuestionResponse(); if (openTdbResponse.StatusCode == HttpStatusCode.OK) { randomQuestionResponse.QuizQuestion = openTdbResponse.QuizQuestions[0]; } return(randomQuestionResponse); }