public async Task <IActionResult> PutSavedLocations([FromRoute] string id, [FromBody] SavedLocations savedLocations)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != savedLocations.Id)
            {
                return(BadRequest());
            }

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

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!SavedLocationsExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(NoContent());
        }
        public async Task <SearchVenues> GetLocations(VenueParameters venueParameters)
        {
            var searchvenues = new SearchVenues();

            venueParameters.Intent = "browse";
            var result = await Urls.GetStringAsync(Urls.BaseUri + "venues/search?client_id=" + Urls.client_id + "&client_secret=" + Urls.client_secret + "&v=20190425&near=" + venueParameters.Near + "&intent=" + venueParameters.Intent + "&radius=" + venueParameters.Radius + "&limit=" + venueParameters.Limit);

            //https://api.foursquare.com/v2/venues/search?client_id=3QLIE2CJOVDRDUPC005VKY5S14ONGS4LJH3V12GVYS3IIYDR&client_secret=4H43YM0HRH3LUNI0WD3A2FRHJVMOFGTKA1FI1JB3XCQKOOIL&v=20190425&near=harare&intent=browse&radius=10000&limit=10
            var result_venues = JsonConvert.DeserializeObject <SearchVenues>(result);

            for (int i = 0; i < result_venues.response.venues.Length; i++)
            {
                var savelocations = new SavedLocations
                {
                    Id          = result_venues.response.venues[i].id,
                    Name        = result_venues.response.venues[i].name,
                    Address     = result_venues.response.venues[i].location.address,
                    City        = result_venues.response.venues[i].location.city,
                    Country     = result_venues.response.venues[i].location.country,
                    CrossStreet = result_venues.response.venues[i].location.crossStreet,
                    Latitude    = result_venues.response.venues[i].location.lat.ToString(),
                    Longitude   = result_venues.response.venues[i].location.lng.ToString()
                };

                _context.Locations.Add(savelocations);
                await _context.SaveChangesAsync();
            }

            return(result_venues);
        }
        public async Task <SearchImages> GetImageLocations(ImagesParameters imageParameters)
        {
            var searchimages = new SearchImages();

            imageParameters.Group = "venue";
            var result = await Urls.GetStringAsync(Urls.BaseUri + "venues/" + imageParameters.VenueID + "/photos?client_id=" + Urls.client_id + "&client_secret=" + Urls.client_secret + "&v=20190425&group=" + imageParameters.Group + "&limit=" + imageParameters.Limit);

            var result_images = JsonConvert.DeserializeObject <SearchImages>(result);

            for (int i = 0; i < result_images.response.photos.items.Length; i++)
            {
                var saveimages = new SavedImages
                {
                    Id        = result_images.response.photos.items[i].id,
                    CreatedAt = result_images.response.photos.items[i].createdAt.ToString(),
                    Prefix    = result_images.response.photos.items[i].prefix,
                    Suffix    = result_images.response.photos.items[i].suffix,
                    Height    = result_images.response.photos.items[i].height,
                    Width     = result_images.response.photos.items[i].width
                };

                _context.Images.Add(saveimages);
                await _context.SaveChangesAsync();
            }

            return(result_images);
        }