public DisneyPostRequest(String url, AuthToken token, String partySize, String mealPeriod, String searchDate) { String parameters = "grant_type=assertion&assertion_type=public&client_id=WDPRO-MOBILE.CLIENT-PROD&partySize=" + partySize + "&mealPeriod=" + mealPeriod + "&searchDate=" + searchDate; IDisneyReservationRequest disneyRequest = this; HttpWebRequest request = disneyRequest.setHeadersWithAuthorization(url, token); HttpWebResponse response = disneyRequest.makeReservationRequest(request, parameters); try { _response = response; String responseMessage = disneyRequest.returnResponse(response); ResponseMessage = responseMessage; WebHeaderCollection responseHeaders = response.Headers; _reservationUrl = responseHeaders.Get("Location"); } catch (NullReferenceException err) { Console.WriteLine(err.Message); } DisneyGetRequest reservationRequest = new DisneyGetRequest(_reservationUrl, token); ResponseMessage = reservationRequest.ResponseMessage; }
public void populateDisneyRestaurants(AuthToken token) { this.DisneyRestaurants = new List<DisneyRestaurant>(); foreach (String url in this._restaurantUrls) { DisneyRestaurant restaurant = new DisneyRestaurant(); restaurant.RestaurantUrl = url; DisneyGetRequest restaurantRequest = new DisneyGetRequest(url, token); try { //Location JObject response = JObject.Parse(restaurantRequest.ResponseMessage); JObject links = (JObject)response.SelectToken("links"); JObject ancestorPark = (JObject)links.SelectToken("ancestorThemePark") ?? (JObject)links.SelectToken("ancestorEntertainmentVenue") ?? (JObject)links.SelectToken("ancestorResort"); restaurant.Location = (String)ancestorPark.SelectToken("title"); Console.WriteLine(restaurant.Location); //ID String id = (String)response.SelectToken("id"); String[] words = id.Split(';'); restaurant.Id = Convert.ToInt32(words[0]); Console.WriteLine(restaurant.Id); //Name restaurant.RestaurantName = (String)response.SelectToken("name"); Console.WriteLine(restaurant.RestaurantName); //Price Range JObject facets = (JObject)response.SelectToken("facets"); JArray priceRange = (JArray)facets.SelectToken("priceRange"); restaurant.PriceRange = (String)priceRange[0].SelectToken("urlFriendlyId"); Console.WriteLine(restaurant.PriceRange); // Type of restaurant -- Table or Quick JArray service = (JArray)facets.SelectToken("tableService"); String diningType = null; if (service != null) { JArray tableDiningMealTimesArray = (JArray)facets.SelectToken("dining"); diningType = "Table Service"; } else { service = (JArray)facets.SelectToken("quickService"); if (service != null) { diningType = "Quick Service"; } } restaurant.RestaurantType = diningType; Console.WriteLine(restaurant.RestaurantType); } catch(NullReferenceException err) { Console.WriteLine(err.Message); } if (restaurant.Id != 0) { this.DisneyRestaurants.Add(restaurant); Console.WriteLine("Added restaurant!"); } } }
private void populateRestaurantUrls(AuthToken token) { List<String> urls = new List<String>(); DisneyGetRequest request = new DisneyGetRequest(_fullRestaurantListUrl, token); JObject response = JObject.Parse(request.ResponseMessage); String total = (String)response.SelectToken("total"); _totalNumberOfRestaurants = Convert.ToInt32(total); JArray entries = (JArray)response.SelectToken("entries"); foreach(var entry in entries) { JObject links = (JObject)entry.SelectToken("links"); JObject self = (JObject)links.SelectToken("self"); string url = (String)self.SelectToken("href"); urls.Add(url); } _restaurantUrls = urls; }