示例#1
0
        public static void EducationFacilitiesSeed(HackathonContext context)
        {
            var url = "https://api.um.warszawa.pl/api/action/datastore_search/?resource_id=1cae4865-bb17-4944-a222-0d0cdc377951";

            var response = Requestor.CreateRequest(url).Result;
            var jsonObj  = JsonConvert.DeserializeObject <ResultDto>(response);

            int total = jsonObj.InnerResult.Total;

            for (int i = 500; i < total; i += 100)
            {
                var requestUrl = url + "&offset=" + i;
                response = Requestor.CreateRequest(requestUrl).Result;
                jsonObj  = JsonConvert.DeserializeObject <ResultDto>(response);

                Trace.WriteLine($"{i}: {requestUrl}");

                foreach (var item in jsonObj.InnerResult.EducationFacilityDtos)
                {
                    GMapsLocationDto location = GoogleMaps.RetrieveDataFromGoogleMaps(item);

                    if (location != null)
                    {
                        item.Longitude = location.Longitude;
                        item.Latitude  = location.Latitude;
                    }

                    context.EducationFacilities.AddOrUpdate(item);
                }

                context.SaveChanges();
            }
        }