Ejemplo n.º 1
0
        public IActionResult GetBooksForUser(string userId, [FromQuery] UserBooksResourceParameters parameters)
        {
            var books = _bookService.GetBooksForUserAsync(userId, parameters);

            var booksDto = MapBookToBookDto(books);

            AddCoversToBookDtos(books, booksDto);

            var pagedList = new PagedList <BookDto>(booksDto.AsQueryable(), parameters.PageNumber, parameters.PageSize);

            return(Ok(pagedList));
        }
Ejemplo n.º 2
0
        public IQueryable <Book> GetBooksForUserAsync(string userId, UserBooksResourceParameters parameters)
        {
            var userBooks = _context.Books
                            .Include(b => b.Cover)
                            .Include(b => b.BookTags)
                            .ThenInclude(bt => bt.Tag)
                            .Where(b => b.UserId == userId)
                            .FilterBooks(parameters)
                            .FilterBooksByTags(parameters.Tags)
                            .ApplySort(parameters.OrderBy, _propertyMappingService.GetPropertyMapping <BookDto, Book>());

            return(userBooks);
        }