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>()); } }
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))); }