public static async Task <Models.Accommodation.Likibu.SearchRequestResults> RequestSearchResults(Models.Find.SearchVM searchVM) { string webrq = SearchSessionString + searchVM.Search.LikibuSessionID + ApiKey; Models.Accommodation.Likibu.SearchResultsRequestBody SRP = new Models.Accommodation.Likibu.SearchResultsRequestBody(searchVM.Search.FilterProps.PerPage, searchVM.Search.FilterProps.Page, searchVM.Search.FilterProps.Sort, searchVM.Search.FilterProps.PrivacyType, searchVM.Search.FilterProps.AcomType, searchVM.Search.FilterProps.Amenities, searchVM.Search.FilterProps.PartnerID, searchVM.Search.BedRooms.ToString(), searchVM.Search.FilterProps.PriceMin, searchVM.Search.FilterProps.PriceMax); string retStr = await webClient.DownloadStringTaskAsync(webrq + SRP.Body); Models.Accommodation.Likibu.SearchRequestResults resultsFinal = new Models.Accommodation.Likibu.SearchRequestResults(); resultsFinal = ParseSearchResultResponse(retStr); return(resultsFinal); }
private static Models.Accommodation.Likibu.SearchRequestResults ParseSearchResultResponse(string Response) { JObject jo = JObject.Parse(Response); Models.Accommodation.Likibu.SearchRequestResults r = new Models.Accommodation.Likibu.SearchRequestResults(); r.SearchID = jo["search_id"].ToString(); r.Status = jo["status"].ToString(); r.Bbox = jo["bbox"].ToString(); r.Where = jo["where"].ToString(); r.CheckIn = jo["checkin"].ToString(); r.CheckOut = jo["checkout"].ToString(); r.CountryCode = jo["country_code"].ToString(); r.TotalResults = Int32.Parse(jo["total_results"].ToString()); r.TotalPages = Int32.Parse(jo["total_pages"].ToString()); r.MinPrice = Int32.Parse(jo["min_price"].ToString()); r.MaxPrice = Int32.Parse(jo["max_price"].ToString()); r.Offers = ParseOffers(jo); //Todo read Facets return(r); }