private async Task <List <SearchViewModel> > SearchMovies(string query, MyList myList) { var response = await webRequest.Get(showService.ConvertToMovieSearch(query)); if (!response.IsSuccessStatusCode) { throw new ArgumentException("Query request failed"); } var content = await response.Content.ReadAsStringAsync(); var json = JObject.Parse(content); IList <JToken> results = json["results"].Children().ToList(); List <SearchViewModel> movieList = new List <SearchViewModel>(); foreach (JToken r in results) { Movie movieResult = r.ToObject <Movie>(); try { movieResult.Aired = DateTime.ParseExact(r["release_date"].ToString(), "yyyy-M-d", null).ToString("y"); } catch (FormatException) { movieResult.Aired = "Unknown Start Date"; } movieResult.Artwork = r["poster_240x342"].ToString(); bool inList = false; if (myList != null) { var listCheck = myList.MyListShows?.FirstOrDefault(x => x.SafeCompareId(movieResult.ID)); inList = listCheck == null ? false : true; } movieList.Add(new SearchViewModel() { IsInList = inList, Movie = movieResult }); } return(movieList); }