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(); }
// 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(); } }