예제 #1
0
        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;
            }
        }