// Data Manipulation
        public void AddParktoWishlist(int id)
        { // Redirecting to original person who added a park to the wishlist
            try
            {
                var currentPark  = _parkService.GetParkRecord(id);
                var currentHiker = FindCurrentHiker();

                List <HikerParkWishlist> currentHikerWishlist = GetWishlist(currentHiker.HikerId);

                HikerParkWishlist parkWishlist = new HikerParkWishlist
                {
                    HikerId  = currentHiker.HikerId,
                    ParkId   = currentPark.ParkId,
                    ParkName = currentPark.ParkName
                };

                // If any records in the current wishlit do not contain the Park name (Prevent Duplicate)
                if (!currentHikerWishlist.Any(p => p.ParkName.Contains(parkWishlist.ParkName)))
                {
                    _context.HikerParkWishlists.Add(parkWishlist);
                    _context.SaveChanges();
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }
        }
        public ActionResult DeleteConfirmed(int id)
        {
            HikerParkWishlist hikerParkWishlist = db.HikerParkWishlists.Find(id);

            db.HikerParkWishlists.Remove(hikerParkWishlist);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
 public ActionResult Edit([Bind(Include = "HikerParkWishlistId,HikerId,ParkId")] HikerParkWishlist hikerParkWishlist)
 {
     if (ModelState.IsValid)
     {
         db.Entry(hikerParkWishlist).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.HikerId = new SelectList(db.Hikers, "HikerId", "FirstName", hikerParkWishlist.HikerId);
     ViewBag.ParkId  = new SelectList(db.Parks, "ParkId", "ParkName", hikerParkWishlist.ParkId);
     return(View(hikerParkWishlist));
 }
        // GET: HikerParkWishlists/Details/5
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            HikerParkWishlist hikerParkWishlist = db.HikerParkWishlists.Find(id);

            if (hikerParkWishlist == null)
            {
                return(HttpNotFound());
            }
            return(View(hikerParkWishlist));
        }
        // GET: HikerParkWishlists/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            HikerParkWishlist hikerParkWishlist = db.HikerParkWishlists.Find(id);

            if (hikerParkWishlist == null)
            {
                return(HttpNotFound());
            }
            ViewBag.HikerId = new SelectList(db.Hikers, "HikerId", "FirstName", hikerParkWishlist.HikerId);
            ViewBag.ParkId  = new SelectList(db.Parks, "ParkId", "ParkName", hikerParkWishlist.ParkId);
            return(View(hikerParkWishlist));
        }
        public ActionResult AddParkToWishList(int?id)  // why does it have to be id rather than parkId?
        {
            int hikerNum = CheckUserID();
            HikerParkWishlist hikerParkWishlist = new HikerParkWishlist(); // Instantiate new wish list item

            hikerParkWishlist.HikerId = hikerNum;                          // Add HikerId to database
            // Add ParkId to database
            int convertedParkId = Convert.ToInt32(id);                     // Convert passed park Id to acceptable int format

            hikerParkWishlist.ParkId = convertedParkId;                    // Add to database
            // Add park name to wishlist
            var parkWishName = db.Parks.Where(p => p.ParkId == hikerParkWishlist.ParkId).FirstOrDefault();

            hikerParkWishlist.ParkName = parkWishName.ParkName;
            db.HikerParkWishlists.Add(hikerParkWishlist);
            db.SaveChanges();
            return(RedirectToAction("Details", "Hikers", new { id = hikerNum }));
        }