Пример #1
0
        public async Task <List <ResponseModel> > GetQuestionsInternally(QuestionParameters questionParameters)
        {
            try
            {
                using var client = _clientFactory.CreateClient();
                var url     = $"https://trivialportalbackend.azurewebsites.net/api/trivialquestions/amount/{questionParameters.Amount.ToString()}/category/0/difficulty/{questionParameters.Difficulty.ToString().ToLower()}";
                var request = await client.GetAsync(url);

                if (!request.IsSuccessStatusCode)
                {
                    Log.Error($"StatusCode: {request.StatusCode}");

                    return(new List <ResponseModel>());
                }

                var responseAsAsString = await request.Content.ReadAsStringAsync();

                return(JsonSerializer.Deserialize <List <ResponseModel> >(responseAsAsString, new JsonSerializerOptions {
                    PropertyNameCaseInsensitive = true
                }));
            }
            catch (Exception ex)
            {
                Log.Error($"Exception: {ex}");
                return(new List <ResponseModel>());
            }
        }
Пример #2
0
        public async Task <IActionResult> GetQuestions(QuestionParameters questionParameters)
        {
            var questions = await _questionHandler.GetQuestionsInternally(questionParameters);

            if (questions.Count == 0)
            {
                return(BadRequest());
            }

            return(View("~/Views/Questions.cshtml", new Transformations().ToViewModel(questions)));
        }