Beispiel #1
0
        /// <summary>
        /// Return a list of places by proximity
        /// </summary>
        public PlaceDto ReturnPlacesByProximity(double longitude, double latitude, int radius, string type, int offset, int limit)
        {
            var q = new Query();

            if (string.Compare(type, "all", true) != 0)
            {
                q.Search(type);
            }

            q.WithIn(new Circle(longitude, latitude, radius));

            return JsonSerializer.DeserializeFromString<PlaceDto>(ProcessQuery(q, limit, offset));
        }
        public string GetHealthCareProviderData(ProviderFilter filter)
        {
            try
            {
                var query = new Query();

                if (filter.Latitude != 0 && filter.Longitude != 0)
                {
                    query.WithIn(new Circle(filter.Latitude, filter.Longitude, filter.Meters));
                }

                if (!string.IsNullOrWhiteSpace(filter.Category))
                {
                    query.Field("category").Search(filter.Category);
                }

                if (!string.IsNullOrWhiteSpace(filter.Npi))
                {
                    query.Field("npi_id").Search(filter.Npi);
                }

                if (!string.IsNullOrWhiteSpace(filter.Insurances))
                {
                    query.Field("insurances").Search(filter.Insurances);
                }

                if (!string.IsNullOrWhiteSpace(filter.Locality))
                {
                    query.Field("locality").Search(filter.Locality);
                }

                if (!string.IsNullOrWhiteSpace(filter.Region))
                {
                    query.Field("region").Search(filter.Region);
                }

                query.Field("offset").Equals(0);

                return _factual.Fetch("health-care-providers-us", query);
            }
            catch (Exception ex)
            {
                throw;
            }
        }
        public string GetRestaurantsJsonData(LocationQueryFilter filter)
        {
            var query = new Query();
            if (filter.Latitude != 0 && filter.Longitude != 0)
            {
                query.WithIn(new Circle(filter.Latitude, filter.Longitude, filter.Distance==0?1000:filter.Distance));
            }

            if (!string.IsNullOrWhiteSpace(filter.Location))
            {
                query.Field("locality").Search(filter.Location);
            }

            if (!string.IsNullOrWhiteSpace(filter.SearchValue))
            {
                query.Field("name").Search(filter.SearchValue);
            }
            //Only return small subset of data that we need
            query.Only("name", "cuisine", "rating", "address", "website");
            return _factual.Fetch("restaurants", query);
        }