コード例 #1
0
        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);
        }
コード例 #2
0
        public async Task <SearchVenues> GetVenues(int start = 0)
        {
            var req = await this._client.GetAsync($"https://api.stubhub.com/search/catalog/venues/v3/?rows=500&country=US&start={start}");

            var res = await req.Content.ReadAsStringAsync();

            SearchVenues jResponse = JsonConvert.DeserializeObject <SearchVenues>(res);

            return(jResponse);
        }
コード例 #3
0
ファイル: ProcessDialogs.cs プロジェクト: branc116/OQPY
        internal static async Task ProcessVenues(IDialogContext context, SearchVenues result)
        {
            var   like = result;
            Venue likeVenue;
            IEnumerable <Venue> venues;
            var haveLoc = context.UserData.TryGetValue(_facebooklocation, out Geo geolocation);

            if (haveLoc)
            {
                venues = await like.QAsync(likeVenue = new Venue()
                {
                    Name     = like.Name == "n" ? null : like.Name,
                    Location = new Location(geolocation.longitude, geolocation.latitude)
                });
            }
            else
            {
                venues = await like.QAsync(likeVenue = like.GetVenue());
            }
            if (venues.Any())
            {
                var message = context.MakeMessage();

                context.ConversationData.SetValue(_currentActiveVenues, venues);
                Log.BasicLog("venues", venues.Select(i => i.ToString()).Aggregate((i, j) => $"{i}\n{j}"), SeverityLevel.Verbose);

                message.Attachments      = MakeACard(venues, geolocation == null ? null : new Location(geolocation.longitude, geolocation.latitude)).ToList();
                message.AttachmentLayout = _layoutCarousel;
                await context.PostAsync(message);
            }
            else
            {
                Log.BasicLog(TAG, $"Venue not found, name: {likeVenue.Name}, locatio: {likeVenue?.Location.ToString() ?? null}", SeverityLevel.Error);
                await context.PostAsync("Sorry, can't find anything... :(");
            }
        }