public IActionResult New()
        {
            NewAttractionViewModel vm = new NewAttractionViewModel
            {
                Countries  = _countryRepository.GetCountries.OrderBy(c => c.Name),
                Attraction = new TouristAttraction
                {
                    Geoposition = new Geoposition()
                },
                Categories = _categoryRepository.GetCategories.OrderBy(c => c.Name)
            };

            ViewBag.Key   = Convert.ToString(_configuration["ItinerariesAdminWebApp:PlacesApiKey"]);
            ViewBag.Added = TempData["added"];
            return(View(vm));
        }
 public IActionResult Add(TouristAttraction attraction)
 {
     if (_touristAtracctionRepository.VerifyExistence(attraction.GooglePlaceId))
     {
         ModelState.AddModelError("AlreadyExists", "La atracción turística ya se encuentra registrada");
         NewAttractionViewModel vm = new NewAttractionViewModel
         {
             Countries  = _countryRepository.GetCountries.OrderBy(c => c.Name),
             Attraction = attraction,
             Categories = _categoryRepository.GetCategories.OrderBy(c => c.Name)
         };
         ViewBag.Key = Convert.ToString(_configuration["ItinerariesAdminWebApp:PlacesApiKey"]);
         return(View("New", vm));
     }
     attraction.CreatedBy = Convert.ToInt32(User.Claims.Where(c => c.Type == ClaimTypes.NameIdentifier).First().Value);
     _touristAtracctionRepository.SaveChanges(attraction);
     TempData["added"] = true;
     return(RedirectToAction(nameof(New)));
 }