Ejemplo n.º 1
0
        public async Task GetTrailName(HikingTrail hikingTrail, HikingTrailJsonInfo hikingTrailJsonInfo)
        {
            // Do I need to check Foreign Key ID like we do with User ID?
            string fulltrailName = hikingTrailJsonInfo.trails[0].name;

            hikingTrail.TrailName = fulltrailName;
            await db.SaveChangesAsync();
        }
Ejemplo n.º 2
0
        // GET: Trails/Details/5
        public async Task <ActionResult> Details(int?id, HikingTrail hikingTrail, HikingTrailJsonInfo hikingTrailJsonInfo)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            var trailInfo = await db.HikingTrails.FindAsync(id);

            await GetTrailName(hikingTrail, hikingTrailJsonInfo);

            if (trailInfo == null)
            {
                return(HttpNotFound());
            }
            return(View(trailInfo));
        }
        // ------------------ Get Hiking Project JSON -----------------------------
        public async Task RunHikingJson(ApiKeys apiKeys, Park park)
        {
            string              hikingKey          = apiKeys.HikingProjectKey;
            string              parkLatitude       = park.ParkLat;
            string              parkLongitude      = park.ParkLng;
            int                 distanceFromCenter = 40;
            string              url      = $"https://www.hikingproject.com/data/get-trails?lat={parkLatitude}&lon={parkLongitude}&maxDistance={distanceFromCenter}&key={hikingKey}"; // Lat, long, and API Key neede for API call
            HttpClient          client   = new HttpClient();
            HttpResponseMessage response = await client.GetAsync(url);

            string jsonresult = await response.Content.ReadAsStringAsync();

            if (response.IsSuccessStatusCode)
            {
                HikingTrailJsonInfo hikingTrailJsonInfo = JsonConvert.DeserializeObject <HikingTrailJsonInfo>(jsonresult);
                List <Trail>        trailInfo           = hikingTrailJsonInfo.trails.ToList();
                await GetTrailDetails(park, trailInfo);

                await db.SaveChangesAsync();
            }
        }