public IActionResult ParksModel() { APIHandler webHandler = new APIHandler(); ParksModel parks = webHandler.GetParks(); return(View(parks)); }
/// <summary> /// Method to receive data from API end point as a collection of objects /// /// JsonConvert parses the JSON string into classes /// </summary> /// <returns></returns> public ParksModel GetParks() { string NATIONAL_PARK_API_PATH = BASE_URL; string parksData = ""; ParksModel parks = null; httpClient.BaseAddress = new Uri(NATIONAL_PARK_API_PATH); // It can take a few requests to get back a prompt response, if the API has not received // calls in the recent past and the server has put the service on hibernation try { HttpResponseMessage response = httpClient.GetAsync(NATIONAL_PARK_API_PATH).GetAwaiter().GetResult(); if (response.IsSuccessStatusCode) { parksData = response.Content.ReadAsStringAsync().GetAwaiter().GetResult(); if (!parksData.Equals("")) { // JsonConvert is part of the NewtonSoft.Json Nuget package parks = JsonConvert.DeserializeObject <ParksModel>(parksData); } } } catch (Exception e) { // This is a useful place to insert a breakpoint and observe the error message Console.WriteLine(e.Message); } return(parks); }
/// <summary> /// Method to receive data from API end point as a collection of objects /// /// JsonConvert parses the JSON string into classes /// </summary> /// <returns></returns> public ParksModel GetParks() { string NATIONAL_PARK_API_PATH = BASE_URL + "parks?parkCode=acad,dena,cabr,cave,grca,jotr,yose,zion,yell,glac"; string parksData = ""; ParksModel parks = null; //httpClient.BaseAddress = new Uri(NATIONAL_PARK_API_PATH); // It can take a few requests to get back a prompt response, if the API has not received // calls in the recent past and the server has put the service on hibernation try { using (var httpClient = new HttpClient { BaseAddress = new Uri(NATIONAL_PARK_API_PATH) }) { httpClient.DefaultRequestHeaders.Accept.Clear(); httpClient.DefaultRequestHeaders.Add("X-Api-Key", API_KEY); httpClient.DefaultRequestHeaders.Accept.Add( new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json")); HttpResponseMessage response = httpClient.GetAsync(NATIONAL_PARK_API_PATH).GetAwaiter().GetResult(); parksData = response.Content.ReadAsStringAsync().GetAwaiter().GetResult(); if (!parksData.Equals("")) { // JsonConvert is part of the NewtonSoft.Json Nuget package parks = JsonConvert.DeserializeObject <ParksModel>(parksData); } } } catch (Exception e) { // This is a useful place to insert a breakpoint and observe the error message Console.WriteLine(e.Message); } return(parks); }
public ActionResult ParksModel() { ParkRepo parkRepo = new ParkRepo(); ParksModel parks = new ParksModel(); parks.data = parkRepo.GetAllParks(); return(View(parks)); }
public ActionResult ParkDetail(string id) { ParksModel model = dal.GetPark(id); if (model == null) { return(HttpNotFound()); } return(View("ParkDetail", model)); }
// GET: Park public ActionResult Index() { APIHandler webHandler = new APIHandler(); ParksModel parks = webHandler.GetParks(); ParkRepo parkRepo = new ParkRepo(); foreach (Parks item in parks.data) { parkRepo.AddPark(item); } return(View()); }
/// <summary> /// Returns all information for a single park /// </summary> /// <param name="parkCode"></param> /// <returns>Park information for individual detail page</returns> public DetailViewModel GetDetails(string parkCode) { DetailViewModel viewModel = new DetailViewModel(); List <WeatherDayModel> forecast = GetFiveDayForecast(parkCode); ParksModel park = new ParksModel() { ParkCode = parkCode }; using (SqlConnection conn = new SqlConnection(_connectionString)) { conn.Open(); SqlCommand cmd = new SqlCommand(@"SELECT weather.*, park.* FROM park " + "JOIN weather on park.parkCode = weather.parkCode " + "WHERE park.parkCode = @parkCode"); cmd.Parameters.AddWithValue("@parkCode", parkCode); cmd.Connection = conn; SqlDataReader reader = cmd.ExecuteReader(); while (reader.Read()) { park.ParkName = Convert.ToString(reader["parkName"]); park.ParkDescription = Convert.ToString(reader["parkDescription"]); park.State = Convert.ToString(reader["state"]); park.Acreage = Convert.ToInt32(reader["acreage"]); park.MilesOfTrail = Convert.ToDouble(reader["milesOfTrail"]); park.NumberOfCampsites = Convert.ToInt32(reader["numberOfCampsites"]); park.Climate = Convert.ToString(reader["climate"]); park.Elevation = Convert.ToInt32(reader["elevationInFeet"]); park.YearFounded = Convert.ToInt32(reader["yearFounded"]); park.AnnualVisitorCount = Convert.ToInt32(reader["annualVisitorCount"]); park.InspirationalQuote = Convert.ToString(reader["inspirationalQuote"]); park.InspirationalQuoteSource = Convert.ToString(reader["inspirationalQuoteSource"]); park.EntryFee = Convert.ToInt32(reader["entryFee"]); park.NumberOfAnimalSpecies = Convert.ToInt32(reader["numberOfAnimalSpecies"]); } } viewModel.Park = park; viewModel.FiveDayForecast = forecast; return(viewModel); }
public List <ParksModel> GetParks() { List <ParksModel> parks = new List <ParksModel>(); try { using (SqlConnection conn = new SqlConnection(connectionString)) { conn.Open(); SqlCommand cmd = new SqlCommand(SQL_GetParks, conn); SqlDataReader reader = cmd.ExecuteReader(); while (reader.Read()) { ParksModel park = new ParksModel(); park.ParkCode = Convert.ToString(reader["parkCode"]); park.ParkName = Convert.ToString(reader["parkName"]); park.State = Convert.ToString(reader["state"]); park.Acreage = Convert.ToInt32(reader["acreage"]); park.ElevationInFeet = Convert.ToInt32(reader["elevationInFeet"]); park.MilesOfTrail = Convert.ToInt32(reader["milesOfTrail"]); park.NumberOfCampsites = Convert.ToInt32(reader["numberOfCampsites"]); park.Climate = Convert.ToString(reader["climate"]); park.YearFounded = Convert.ToInt32(reader["yearFounded"]); park.AnnualVisitorCount = Convert.ToInt32(reader["annualVisitorCount"]); park.InspirationalQuote = Convert.ToString(reader["inspirationalQuote"]); park.InspirationalQuoteSource = Convert.ToString(reader["inspirationalQuoteSource"]); park.ParkDescription = Convert.ToString(reader["parkDescription"]); park.EntryFee = Convert.ToInt32(reader["entryFee"]); park.NumberOfAnimalSpecies = Convert.ToInt32(reader["numberOfAnimalSpecies"]); parks.Add(park); } } } catch (SqlException e) { throw; } return(parks); }
public ParksModel GetPark(string parkCode) { ParksModel p = null; try { using (SqlConnection conn = new SqlConnection(connectionString)) { conn.Open(); SqlCommand cmd = new SqlCommand(SQL_GetPark, conn); cmd.Parameters.AddWithValue("@parkCode", parkCode); SqlDataReader reader = cmd.ExecuteReader(); while (reader.Read()) { p = new ParksModel(); p.ParkCode = Convert.ToString(reader["parkCode"]); p.ParkName = Convert.ToString(reader["parkName"]); p.State = Convert.ToString(reader["state"]); p.Acreage = Convert.ToInt32(reader["acreage"]); p.ElevationInFeet = Convert.ToInt32(reader["elevationInFeet"]); p.MilesOfTrail = Convert.ToInt32(reader["milesOfTrail"]); p.NumberOfCampsites = Convert.ToInt32(reader["numberOfCampsites"]); p.Climate = Convert.ToString(reader["climate"]); p.YearFounded = Convert.ToInt32(reader["yearFounded"]); p.AnnualVisitorCount = Convert.ToInt32(reader["annualVisitorCount"]); p.InspirationalQuote = Convert.ToString(reader["inspirationalQuote"]); p.InspirationalQuoteSource = Convert.ToString(reader["inspirationalQuoteSource"]); p.ParkDescription = Convert.ToString(reader["parkDescription"]); p.EntryFee = Convert.ToInt32(reader["entryFee"]); p.NumberOfAnimalSpecies = Convert.ToInt32(reader["numberOfAnimalSpecies"]); } } } catch (SqlException e) { throw; } return(p); }
public ParksModel GetParkName(string id) { ParksModel p = new ParksModel(); try { using (SqlConnection conn = new SqlConnection(connectionString)) { conn.Open(); SqlCommand cmd = new SqlCommand(SQL_GetParkName, conn); cmd.Parameters.AddWithValue("@parkCode", id); SqlDataReader reader = cmd.ExecuteReader(); while (reader.Read()) { p.ParkName = Convert.ToString(reader["parkName"]); } } } catch (SqlException e) { throw; } return(p); }