示例#1
0
        public async Task <IEnumerable <RideDto> > HandleAsync(BrowseRides query)
        {
            IEnumerable <Ride> allRides = await _crudRepository.FindAllAsync(r => true);

            if (!query.Empty)
            {
                if (query.MaximalSearchDate != default(DateTime) && query.MinimalSearchDate != default(DateTime))
                {
                    allRides = allRides.Where(r => r.rideDate >= query.MinimalSearchDate &&
                                              r.rideDate <= query.MaximalSearchDate);
                }
                if (query.MaximumCost != default(decimal))
                {
                    allRides = allRides.Where(r => r.Cost < query.MaximumCost);
                }
                if (query.DriverName != null)
                {
                    allRides = allRides.Where(r => r.DriverName == query.DriverName);
                }
                if (query.CarType != null)
                {
                    allRides = allRides.Where(r => r.CarType == query.CarType);
                }
                //if (query.LocationName != null)
                //{
                //    allRides = allRides.Where(r => r.Location.Name == query.LocationName);
                //}
            }
            //query is empty retrieve all rides

            return(RideDto.FromRides(allRides));
        }
示例#2
0
 public async Task <IActionResult> Get([FromBody] BrowseRides query)
 {
     return(Ok(await _dispatcher.QueryAsync <BrowseRides, IEnumerable <RideDto> >(query)));
 }
 public async Task <IActionResult> Get([FromBody] BrowseRides query)
 {
     return(Ok(await _ridesService.BrowseAsync(query)));
 }