private async Task <List <PetData> > GetCityPets(Cities city) { // Get cats try { var apiRepo = city.Equals(Cities.Sydney) ? _urls.SydneyRepositoryURL : _urls.MelbourneRepositoryURL; var Response = await _httpClient.GetStringAsync(apiRepo); var Owners = JsonConvert.DeserializeObject <List <PetOwner> >(Response); return((from o in Owners.Where(x => x.Pets != null).GroupBy(g => g.Gender) select new PetData { Gender = o.First().Gender, Pets = (from p in o.SelectMany(i => i.Pets.Where(j => !string.IsNullOrWhiteSpace(j.Type))).OrderBy(x => x.Name).Select(y => y.Name).ToArray() select new CityPets { Name = p, City = city.ToString() }).ToArray() }).ToList()); } catch (Exception e) { throw e; } }