public IActionResult Put(int id, [FromBody] VisitedAttractions place)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != place.AttractionId)
            {
                return(BadRequest());
            }

            _context.Entry(place).State = EntityState.Modified;

            try
            {
                _context.SaveChanges();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!VisitedAttractionExists(place.VisitedId))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(new StatusCodeResult(StatusCodes.Status204NoContent));
        }
        public IActionResult Get(int id)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            VisitedAttractions place = _context.VisitedAttractions.Single(m => m.VisitedId == id);

            if (place == null)
            {
                return(NotFound());
            }

            return(Ok(place));
        }
        public IActionResult Delete(int id)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            VisitedAttractions place = _context.VisitedAttractions.Single(m => m.VisitedId == id);

            if (place == null)
            {
                return(NotFound());
            }

            _context.VisitedAttractions.Remove(place);
            _context.SaveChanges();

            return(Ok(place));
        }
        public IActionResult Post([FromBody] VisitedAttractions place)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }


            //var existingUser = from g in _context.Attractions
            //                   where g.Name == place.Name
            //                   select g;

            //if (existingUser.Count<Attractions>() > 0)
            //{
            //    return new StatusCodeResult(StatusCodes.Status409Conflict);
            //}


            _context.VisitedAttractions.Add(place);

            try
            {
                _context.SaveChanges();
            }
            catch (DbUpdateException)
            {
                if (VisitedAttractionExists(place.AttractionId))
                {
                    return(new StatusCodeResult(StatusCodes.Status409Conflict));
                }
                else
                {
                    throw;
                }
            }

            return(CreatedAtRoute("GetVisited", new { id = place.VisitedId }, place));
        }