public async Task <List <CraigslistListing> > GetCraigslist(LambdaEvent lambdaEvent)
        {
            if (lastCall < DateTime.Now.AddMinutes(-20) || lastSearchQuery != lambdaEvent.search_query || lastSearchCategory != lambdaEvent.category)
            {
                List <CraigslistListing> listings = new List <CraigslistListing>();
                string awsEvent = JsonConvert.SerializeObject(lambdaEvent);
                HttpResponseMessage response = await RunLambda(awsEvent);

                if (response.IsSuccessStatusCode)
                {
                    CraigslistListings allListings = JsonConvert.DeserializeObject <CraigslistListings>(response.Content.ReadAsStringAsync().Result);
                    foreach (CraigslistListing listing in allListings.listings)
                    {
                        listings.Add(listing);
                    }
                    lastListings       = listings;
                    lastCall           = DateTime.Now;
                    lastSearchQuery    = lambdaEvent.search_query;
                    lastSearchCategory = lambdaEvent.category;
                    return(listings);
                }
                return(null);
            }
            else
            {
                return(lastListings);
            }
        }
Exemple #2
0
        public async Task <List <CraigslistListing> > GetCraigslist()
        {
            List <CraigslistListing> listings = new List <CraigslistListing>();
            string awsEvent = JsonConvert.SerializeObject(new LambdaEvent()
            {
                amount_of_lists = "100", category = "msa", search_query = "guild songbird"
            });
            HttpResponseMessage response = await RunLambda(awsEvent);

            if (response.IsSuccessStatusCode)
            {
                CraigslistListings allListings = JsonConvert.DeserializeObject <CraigslistListings>(response.Content.ReadAsStringAsync().Result);
                foreach (CraigslistListing listing in allListings.listings)
                {
                    listings.Add(listing);
                }
                return(listings);
            }
            return(null);
        }