Exemplo n.º 1
0
        public async Task <List <Models.Rider> > GetRiders(DTO.RiderFilter filter)
        {
            var result = await deliveriesDbContext.Rider
                         .Where(r => (filter.Active.HasValue && filter.Active.Value == r.Active) || !filter.Active.HasValue)
                         .ToListAsync();

            if (filter.Latitude.HasValue && filter.Longitude.HasValue)
            {
                var pos = new FoodOnKontainers.DTO.Common.Position();
                pos.Latitude  = filter.Latitude.Value;
                pos.Longitude = filter.Longitude.Value;
                IGeometry position = RiderMapper.GetGeometry(pos);
                // TODO: verificare significato distanza (gradi)
                result = result
                         .Where(r => r.StartingPoint != null && r.Range.HasValue && position.IsWithinDistance(r.StartingPoint, r.Range.Value))
                         .OrderBy(r => r.StartingPoint.Distance(position))
                         .ToList();
            }

            return(result);
        }
Exemplo n.º 2
0
        public async Task <IActionResult> GetRiders([FromQuery] DTO.RiderFilter filter)
        {
            var result = await riderService.GetRiders(filter);

            return(Ok(result));
        }
Exemplo n.º 3
0
 public async Task <List <Models.Rider> > GetRiders(DTO.RiderFilter filter)
 {
     return(await deliveriesDbContext.Rider
            .Where(r => (filter.Active.HasValue && filter.Active.Value == r.Active) || !filter.Active.HasValue)
            .ToListAsync());
 }