コード例 #1
0
        public IActionResult ParksModel()
        {
            APIHandler webHandler = new APIHandler();
            ParksModel parks      = webHandler.GetParks();

            return(View(parks));
        }
コード例 #2
0
ファイル: APIHandler.cs プロジェクト: nchin94/WebApplication1
        /// <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);
        }
コード例 #3
0
        /// <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);
        }
コード例 #4
0
        public ActionResult ParksModel()
        {
            ParkRepo   parkRepo = new ParkRepo();
            ParksModel parks    = new ParksModel();

            parks.data = parkRepo.GetAllParks();
            return(View(parks));
        }
コード例 #5
0
        public ActionResult ParkDetail(string id)
        {
            ParksModel model = dal.GetPark(id);

            if (model == null)
            {
                return(HttpNotFound());
            }
            return(View("ParkDetail", model));
        }
コード例 #6
0
        // 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());
        }
コード例 #7
0
ファイル: ParksSqlDAL.cs プロジェクト: TLWoodJr/Projects
        /// <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);
        }
コード例 #8
0
        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);
        }
コード例 #9
0
        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);
        }
コード例 #10
0
        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);
        }