예제 #1
0
        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);
        }
예제 #2
0
        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);
        }