예제 #1
0
        public ApiVM GetFeaturedParks()
        {
            ApiVM vm = new ApiVM();

            vm.Parks        = new List <ParkArray>();
            vm.EntranceFees = new List <Entrancefee>();
            vm.Images       = new List <Image>();

            string json;

            using (var web = new WebClient())
            {
                var url = $"https://developer.nps.gov/api/v1/parks?parkCode=cuva,ever,grca,glac,grsm,grte,mora,romo,yell,yose&fields=images,entranceFees&api_key=3LhuGLctiucHmnyRqehk6AgUF4jFY5NlnLVJHtK3";
                json = web.DownloadString(url);
            }

            for (int i = 0; i < 10; i++)
            {
                ParkArray park = JObject.Parse(json)["data"][i].ToObject <ParkArray>();
                vm.Parks.Add(park);
                Entrancefee entrancefee = JObject.Parse(json)["data"][i]["entranceFees"][0].ToObject <Entrancefee>();
                vm.EntranceFees.Add(entrancefee);
                for (int j = 0; j < 4; j++)
                {
                    Image image = JObject.Parse(json)["data"][i]["images"][j].ToObject <Image>();
                    vm.Images.Add(image);
                }
            }
            return(vm);
        }
예제 #2
0
        public ApiVM GetParkByStateCode(string stateCode)
        {
            ApiVM vm = new ApiVM();

            vm.Parks        = new List <ParkArray>();
            vm.EntranceFees = new List <Entrancefee>();
            vm.Images       = new List <Image>();

            string json;

            using (var web = new WebClient())
            {
                var url = $"https://developer.nps.gov/api/v1/parks?stateCode={stateCode}&fields=images,entranceFees&api_key=3LhuGLctiucHmnyRqehk6AgUF4jFY5NlnLVJHtK3";
                json = web.DownloadString(url);
            }

            var    test   = JObject.Parse(json);
            JArray items  = (JArray)test["data"];
            int    length = items.Count;

            for (int i = 0; i < length; i++)
            {
                ParkArray park = JObject.Parse(json)["data"][i].ToObject <ParkArray>();
                vm.Parks.Add(park);
                for (int k = 0; k < Math.Min(1, park.entranceFees.Length); k++)
                {
                    Entrancefee entrancefee = park.entranceFees[0];
                    vm.EntranceFees.Add(entrancefee);
                }
                for (int j = 0; j < Math.Min(4, park.images.Length); j++)
                {
                    Image image = park.images[j];
                    vm.Images.Add(image);
                }
            }
            return(vm);
        }