/// <summary> /// Takes in the park id to find a park by the id from the database to display a detail page /// </summary> /// <param name="id">The park id to search for</param> /// <returns></returns> public ActionResult Detail(string id) { //Sets the initial Session["isFahrenheit"] variable if this is the first time visiting the page if (Session["isFahrenheit"] == null) { Session["isFahrenheit"] = true; } //gets all the details needed for the Park Detail page var park = _parkDAL.GetParkById(id); TempData["id"] = id.ToString(); park.FiveDayForecast = _weatherDAL.GetFiveDayForecast(id); return(View("Detail", park)); }
public ActionResult ViewTrail(string trailName, int?panoramicId) { List <TrailModel> trails = trailDAL.GetAllTrails(); trails.ForEach(trail => trail.TrailHead = panoramicDAL.GetTrailHeadByTrailId(trail.TrailId)); List <PanoramicModel> panoramics = panoramicDAL.GetAllPanoramics(); List <LastSeenImagesModel> lastSeenImages = lastSeenImagesDAL.GetAllLastSeenImages(); List <LastSeenVideosModel> lastSeenVideos = lastSeenVideosDAL.GetAllLastSeenVideos(); LastSeenModel superModel = new LastSeenModel() { Images = lastSeenImages, Videos = lastSeenVideos }; if (!trails.Select(trail => trail.Name).Contains(trailName) || (panoramics.FirstOrDefault(panoramic => panoramic.PanoramicId == panoramicId) == null) && panoramicId != null) { return(new HttpStatusCodeResult(404)); } int selectedParkId = trails.First(trail => trail.Name == trailName).ParkId; ParkModel selectedPark = parkDAL.GetParkById(selectedParkId); int selectedTrailId = trails.First(trail => trail.Name == trailName).TrailId; List <string> selectedTrail = trailDAL.GetTrailDescriptionByTrailId(selectedTrailId); if (panoramicId == null) { return(RedirectToAction("ViewTrail", new { trailName = trailName, panoramicId = trails.First(trail => trail.Name == trailName).TrailHead.PanoramicId })); } ViewBag.TrailName = trailName; ViewBag.ParkName = selectedPark.Name; ViewBag.NameAndDescription = selectedTrail; return(View("ViewTrail", superModel)); }