public PagedResponse <HallDto> Execute(HallSearch search) { var query = _context.Halls.AsQueryable(); if (!string.IsNullOrEmpty(search.Name) && !string.IsNullOrWhiteSpace(search.Name)) { query = query.Where(x => x.Name.ToLower().Contains(search.Name.ToLower())); } if (search.LocationID is int) { query = query.Where(x => x.LocationID == search.LocationID); } if (search.MinSeats is int) { query = query.Where(x => x.NumberOfSeats > search.MinSeats); } return(query.Paged <HallDto, Hall>(search, _mapper)); }
public IActionResult Get([FromQuery] HallSearch search, [FromServices] IGetHallsQuery query) { return(Ok(_executor.ExecuteQuery(query, search))); }