Example #1
0
        public PagedResponse <AmenityDto> Execute(AmenitySearch amenitySearch)
        {
            var amenitiesQuery = this.context.Amenities.AsQueryable();

            if (amenitySearch.Name != null)
            {
                amenitiesQuery = amenitiesQuery.Where(a => a.Name.ToLower().Contains(amenitySearch.Name.ToLower()));
            }

            if (amenitySearch.Description != null)
            {
                amenitiesQuery = amenitiesQuery.Where(a => a.Description.ToLower().Contains(amenitySearch.Description.ToLower()));
            }

            var amenities = this.mapper.Map <List <AmenityDto> >(amenitiesQuery.FormatForPagedResponse(amenitySearch));

            return(amenities.GeneratePagedResponse(amenitySearch, amenitiesQuery));
        }
 public IActionResult Get([FromQuery] AmenitySearch dto,
                          [FromServices] IGetAmenitiesQuery getAmenitiesQuery)
 {
     return(Ok(_dispatcher.DispatchQuery(getAmenitiesQuery, dto)));
 }