private static List<YelpResult> GenerateSchedule(string Location, string radius, bool isKidFriendly) { var o = GetOptions(); var y = new Yelp(o); string categoryList = ""; categoryList = setUpDefaultCategories(categoryList); categoryList = populateRemainingCategories(categoryList); var searchOptions = new YelpSharp.Data.Options.SearchOptions(); var categories = categoryList.Split(','); List<YelpResult> results = new List<YelpResult>(); foreach (var category in categories){ searchOptions.GeneralOptions = new GeneralOptions() { term = category }; searchOptions.LocationOptions = new LocationOptions() { location = Location, }; var serchResult = y.Search(searchOptions).businesses; //TODO: IF no search result gotta figure out what else to do... if (serchResult == null || serchResult.Count() == 0) continue; Random rnd = new Random(); int r = rnd.Next(0 , serchResult.Count - 1); serchResult.Remove(serchResult[r]); YelpResult yResult = new YelpResult(0, serchResult[r], serchResult); results.Add(yResult); } var retVals = insertDestinationsIntoTimeSlots(results); return retVals.OrderBy(f => f.Hour).ToList(); }
private static List<YelpResult> GetSingleDestinationOptions(string categoryList, string Location, string radius, bool isKidFriendly) { var o = GetOptions(); var y = new Yelp(o); var searchOptions = new YelpSharp.Data.Options.SearchOptions(); searchOptions.GeneralOptions = new GeneralOptions(){ term = categoryList }; searchOptions.LocationOptions = new LocationOptions(){ location = Location, }; var serchResults = y.Search(searchOptions).businesses; var retVal = new YelpResult(0, serchResults[0], serchResults); return new List<YelpResult> { retVal } ; }
private static List<YelpResult> insertDestinationsIntoTimeSlots(List<YelpResult> searchResults) { List<YelpResult> retVal = new List<YelpResult>(); //put the ones we know the time for into correct slot foreach (var _time in setEvents.Keys) { var destination = searchResults[0]; searchResults.Remove(searchResults[0]); YelpResult yResult = new YelpResult(_time, destination.Business, destination.MatchingBusinesses); retVal.Add(yResult); searchResults.Remove(destination); } var openTimes = times.Where(f => !setEvents.Keys.Contains(f)); foreach (var time in openTimes){ var searchResult = searchResults.Take(1).FirstOrDefault(); if (searchResult == null) break; searchResults.Remove(searchResult); YelpResult randomResult = new YelpResult(time, searchResult.Business, searchResult.MatchingBusinesses); retVal.Add(randomResult); } return retVal; }