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