コード例 #1
0
        private Uri CreateUri(string searchString, IEnumerable <string> criteries, GeoLocationParameters geoLocationParameters)
        {
            var uriBuilder = new UriBuilder(ApiUri);
            var query      = HttpUtility.ParseQueryString(uriBuilder.Query);

            query["q"]         = string.IsNullOrWhiteSpace(searchString) ? DefaultsSearchString : searchString;
            query["region_id"] = DefaultRegionId;
            query["key"]       = UserKey;

            query["fields"]    = string.Join(",", _fields);
            query["sort"]      = "flamp_rating";
            query["work_time"] = "now";
            query["page_size"] = PageSize;

            if (geoLocationParameters != null)
            {
                query["point"]  = string.Format("{0},{1}", geoLocationParameters.Lon, geoLocationParameters.Lat);
                query["radius"] = geoLocationParameters.Radius.ToString();
            }

            foreach (var critery in criteries)
            {
                query.Add(string.Format("attr[{0}]", critery), true.ToString());
            }

            //TODO: Исправить проблемы с кодировкой
            uriBuilder.Query = HttpUtility.UrlDecode(query.ToString());

            return(uriBuilder.Uri);
        }
コード例 #2
0
        public ResturantsResponse GetResturants(string searchString, IEnumerable <string> criteries,
                                                GeoLocationParameters geoLocationParameters = null)
        {
            var uri = CreateUri(searchString, criteries, geoLocationParameters);

            var resturants = MakeRequest(uri);

            var resturantsResponse = new ResturantsResponse()
            {
                Variants = resturants.ToArray()
            };

            return(resturantsResponse);
        }