public IActionResult Index()
        {
            //DBToutisrContext db = new DBToutisrContext();
            //List < Attraction > list = db.Attraction.ToList();
            List <ContainerRouteAttraction> kontainer = new List <ContainerRouteAttraction>();

            using (DBToutisrContext dbTourist = new DBToutisrContext())
            {
                var List = dbTourist.RouteAttraction.ToList();
                ContainerRouteAttraction temp = new ContainerRouteAttraction();
                foreach (var item in List)
                {
                    if (temp.IdR == 0)
                    {
                        temp.IdR = item.Route.Id;
                        temp.CoordinatesRoute       = item.Route.Coordinates;
                        temp.CoordinatesPointsStart = item.Route.CoordinatesStartingPointsRoute;
                    }
                    if (temp.IdR == item.Route.Id)
                    {
                        attraction at = new attraction(item.Attraction.Name, item.Attraction.Description, item.Attraction.Coordinate);
                        temp.attractions.Add(at);
                    }
                    else
                    {
                        kontainer.Add(temp);
                        temp = new ContainerRouteAttraction();
                        attraction at = new attraction(item.Attraction.Name, item.Attraction.Description, item.Attraction.Coordinate);
                        temp.attractions.Add(at);
                    }
                }
                kontainer.Add(temp);
            }
            return(View(kontainer));
        }
        public ActionResult DeleteConfirmed(int id)
        {
            attraction attraction = db.attractions.Find(id);

            db.attractions.Remove(attraction);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
 public ActionResult Edit([Bind(Include = "attractionId,address,attractionName")] attraction attraction)
 {
     if (ModelState.IsValid)
     {
         db.Entry(attraction).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(attraction));
 }
 public ActionResult Edit([Bind(Include = "attractions_id,attraction_name,theme_area_id,attraction_description,picture_path,is_working,date_opened")] attraction attraction)
 {
     if (ModelState.IsValid)
     {
         db.Entry(attraction).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.theme_area_id = new SelectList(db.theme_areas, "theme_area_id", "theme_area_name", attraction.theme_area_id);
     return(View(attraction));
 }
        public ActionResult Create([Bind(Include = "attractionId,address,attractionName")] attraction attraction)
        {
            if (ModelState.IsValid)
            {
                db.attraction.Add(attraction);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(attraction));
        }
 public RedirectResult Attraction(int?id, attraction i)
 {
     try {
         i.items_id = (int)id;
         attraction.Update(i);
         Flash.Set(TempData, "Boom! Updated");
     } catch (Exception) {
         Flash.Set(TempData, "Something went wrong 😦");
     }
     return(Redirect("/Detail/?id=" + item.Get((int)id)));
 }
        // GET: AttractionsAdmin/Details/5
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            attraction attraction = db.attractions.Find(id);

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

            if (attraction == null)
            {
                return(HttpNotFound());
            }
            ViewBag.theme_area_id = new SelectList(db.theme_areas, "theme_area_id", "theme_area_name", attraction.theme_area_id);
            return(View(attraction));
        }
        public ActionResult Create(item i)
        {
            if (TryValidateModel(i))
            {
                try {
                    item.Create(i);
                    switch (Request["category"])
                    {
                    case "restaurant":
                        var r = new restaurant()
                        {
                            items_id     = i.id,
                            payment_type = Request["payment_type"]
                        };
                        if (TryValidateModel(r))
                        {
                            restaurant.Create(r);
                        }
                        else
                        {
                            Flash.Set(TempData, "oops, wrong extras! 😬");
                            return(View(i));
                        }
                        break;

                    case "show":
                        var s = new show()
                        {
                            items_id = i.id,
                            datetime = DateTime.Parse(Request["datetime"])
                        };
                        if (TryValidateModel(s))
                        {
                            show.Create(s);
                        }
                        else
                        {
                            Flash.Set(TempData, "oops, wrong extras! 😬");
                            return(View(i));
                        }
                        break;

                    case "attraction":
                        var a = new attraction()
                        {
                            items_id   = i.id,
                            max_height = int.Parse(Request["max_height"]),
                            min_height = int.Parse(Request["min_height"])
                        };
                        if (TryValidateModel(a))
                        {
                            attraction.Create(a);
                        }
                        else
                        {
                            Flash.Set(TempData, "oops, wrong extras! 😬");
                            return(View(i));
                        }
                        break;

                    default:
                        break;
                    }
                } catch {
                    Flash.Set(TempData, "something went wrong! 😬");
                    return(View(i));
                }
                Flash.Set(TempData, "Created 🍻");
                return(RedirectToAction("Index", "Detail", i.id));
            }
            Flash.Set(TempData, "oops! 😬");
            return(View(i));
        }