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()); }
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)); }