public PagedResponse <PublisherDto> Execute(PublisherSearch search) { var query = _context.Publishers.AsQueryable(); if (!string.IsNullOrEmpty(search.Name) || !string.IsNullOrWhiteSpace(search.Name)) { query = query.Where(x => x.Name.ToLower().Contains(search.Name.ToLower())); } var skipCount = search.PerPage * (search.Page - 1); var response = new PagedResponse <PublisherDto> { TotalCount = query.Count(), CurrentPage = search.Page, ItemsPerPage = search.PerPage, Items = query.Skip(skipCount) .Take(search.PerPage) .Select(x => new PublisherDto { Id = x.Id, Name = x.Name, City = x.City, State = x.State }).ToList() }; return(response); }
public IActionResult Get( [FromQuery] PublisherSearch search, [FromServices] IGetPublishersQuery query) { var result = _executor.ExecuteQuery(query, search); return(Ok(result)); }
public PagedResponse <PublisherDto> Execute(PublisherSearch search) { var query = _context.Publishers.AsQueryable().DefaultFilter(search); if (!string.IsNullOrEmpty(search.Name) || !string.IsNullOrWhiteSpace(search.Name)) { query = query.Where(x => x.Name.ToLower().Contains(search.Name.ToLower())); } return(query.Paged <PublisherDto, Domain.Publisher>(search, _mapper)); }
public IQueryable <Book> filterbooks(IQueryable <Book> books, string searchstring, string author, string publisher) { var titlesearch = new TitleSearch(); books = titlesearch.Result(books, searchstring); var authorsearch = new AuthorSearch(); books = authorsearch.Result(books, author); var publishersearch = new PublisherSearch(); books = publishersearch.Result(books, publisher); return(books); }
public IActionResult Get([FromServices] IGetPublishers query, [FromQuery] PublisherSearch search) { return(Ok(_executor.ExecuteQuery(query, search))); }