コード例 #1
0
 public ImportRestaurant GetRestaurantsFromApi(string serviceBaseUrl, RestaurantImportSettings settings)
 {
     var page = 1;
     var results = new ImportRestaurant { TotalResults = 51 };
     while (results.TotalResults > page * 50)
     {
         var apiUrl = GenerateRestaurantApiUrl(serviceBaseUrl, settings.PublisherKey, settings.Latitude, settings.Longitude, settings.Radius, page);
         var objRequest = WebRequest.Create(apiUrl);
         var objResponse = objRequest.GetResponse();
         string strResult;
         using (var sr = new StreamReader(objResponse.GetResponseStream()))
         {
             strResult = sr.ReadToEnd();
         }
         var data = System.Web.Helpers.Json.Decode(strResult);
         results.TotalResults = data.results.total_hits;
         results.FirstHit = data.results.first_hit;
         results.LastHit = data.results.last_hit;
         results.Page = data.results.page;
         foreach (var item in data.results.locations)
         {
             if (results.Restaurants.ToList().Find(f => f.RestaurantName == item.name) == null)
             {
                 results.Restaurants.Add(new RestaurantToImport { RestaurantName = item.name, Selected = false, PreferredDayOfWeek = null });
             }
         }
         page++;
     }
     results.Restaurants = results.Restaurants.OrderBy(f => f.RestaurantName).ToList();
     results.Restaurants = CheckAlreadyImported(results.Restaurants);
     return results;
 }
コード例 #2
0
 public ActionResult ImportSettings(RestaurantImportSettings model)
 {
     if (ModelState.IsValid)
     {
         var results = _importRestaurantLogic.GetRestaurantsFromApi(ConfigurationManager.AppSettings.Get("RestaurantProviderURL"), model);
         Session.Add(SessionName, results);
         GenerateDropDownLists();
         return View("DisplayRestaurants", results);
     }
     return View(model);
 }
コード例 #3
0
 private static RestaurantImportSettings GetDefaultImportSetting()
 {
     var defaultSettings = new RestaurantImportSettings
     {
         PublisherKey = ConfigurationManager.AppSettings["RestaurantProviderPublisherKey"],
         Latitude = ConfigurationManager.AppSettings["RestaurantProviderLatitude"],
         Longitude = ConfigurationManager.AppSettings["RestaurantProviderLongitude"],
         Radius = ConfigurationManager.AppSettings["RestaurantProviderRadius"]
     };
     return defaultSettings;
 }
コード例 #4
0
 public ActionResult ImportSettings()
 {
     var defaults = GetDefaultImportSetting();
     var model = new RestaurantImportSettings
     {
         UseDefaults = true,
         PublisherKey = defaults.PublisherKey,
         Latitude = defaults.Latitude,
         Longitude = defaults.Longitude,
         Radius = defaults.Radius
     };
     ViewBag.DefaultSettings = defaults;
     return View(model);
 }