Exemplo n.º 1
0
        public async Task getNearbyToilets(ParseGeoPoint location, Boolean shouldSkip)
        {
            if (currentLocation.Latitude != location.Latitude || currentLocation.Longitude != location.Longitude)
            {
                //New location, so empty data
                _parseToilets.Clear();
                currentLocation = location;
            } 

            var query = new ParseQuery<Toilet>();
            query = query.WhereNear("Location", location);
            query = query.Limit(20);

            if (shouldSkip)
            {
                query = query.Skip(skipCount);
                skipCount += 20;
            }

            IEnumerable<Toilet> result = await query.FindAsync();

            if (shouldSkip)
            {
                result.ToList().ForEach(_parseToilets.Add);
            } else
            {
                _parseToilets.Clear();
                result.ToList().ForEach(_parseToilets.Add);
            }

            foreach (Toilet toilet in _parseToilets)
            {
                toilet.searchLocationPoint = location;
            }
        }