private JokeResultsModel PackageJokeResults(IList <JokeModel> allJokes) { JokeResultsModel resultsModel = new JokeResultsModel(); var shortResults = from j in allJokes where j.Joke.Split(' ').Length < 10 select j; var mediumResults = from j in allJokes where j.Joke.Split(' ').Length < 20 && j.Joke.Split(' ').Length >= 10 select j; var longResults = from j in allJokes where j.Joke.Split(' ').Length >= 20 select j; resultsModel.ShortList = shortResults.ToList <JokeModel>(); resultsModel.MediumList = mediumResults.ToList <JokeModel>(); resultsModel.LongList = longResults.ToList <JokeModel>(); return(resultsModel); }
public async Task <JokeResultsModel> GetJokesSearch(string term) { JokeResultsModel resultsModel = new JokeResultsModel(); using (HttpClient client = new HttpClient()){ try { client.DefaultRequestHeaders.Add("Accept", "application/json"); var response = await client.GetAsync(Path.Combine(this._url, $"search?limit=30&term={term}")); string jsonString = await response.Content.ReadAsStringAsync(); var model = JsonConvert.DeserializeObject <JokeSearchModel>(jsonString); resultsModel = PackageJokeResults(model.Results); } catch (Exception e) { // log exceptions } } return(resultsModel); }