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));
        }
Ejemplo n.º 2
0
 public IActionResult Get([FromQuery] HallSearch search, [FromServices] IGetHallsQuery query)
 {
     return(Ok(_executor.ExecuteQuery(query, search)));
 }