示例#1
0
        public async Task <List <RequestEntity> > RequestEntities(RequestsFilter filter)
        {
            var requests = await RequestEntities();

            var requestNew = requests.Select(
                x =>
                new
            {
                id         = x.RequestId,
                longtitude = float.Parse(x._long),
                latitude   = float.Parse(x.lat)
            })
                             .Where(x =>
                                    x.longtitude > filter.StartLongitude && x.latitude < filter.StartLatitude &&
                                    x.longtitude <filter.EndLongitude &&
                                                  x.latitude> filter.EndLatitude)
                             .ToList();

            var requestNewIds = requestNew.Take(50).Select(x => x.id).ToList();

            var requestsInRequiredArea = requests
                                         .Where(x => requestNewIds.Contains(x.RequestId)).ToList();

            return(requestsInRequiredArea.ToList());
        }
示例#2
0
        public async Task <IActionResult> Post(
            float startLatitude,
            float startLongitude,
            float endLatitude,
            float endLongitude)
        {
            var requestsFilter = new RequestsFilter
            {
                StartLatitude  = startLatitude,
                StartLongitude = startLongitude,
                EndLatitude    = endLatitude,
                EndLongitude   = endLongitude
            };

            var result = await _requestsCache.RequestEntities(requestsFilter);

            return(Ok(result));
        }