// Get /books // Get /books/index // Get /books?showall=true public async Task <IActionResult> Index([FromQuery] bool showall = false) { //// NO Model. just serializing the domain objects. //var response = await _dataContext.Books.Where(b => b.InInventory).ToListAsync(); //return View(response); ViewData["sale"] = "All Books are 20% Off Until Friday"; var response = new GetBooksResponseModel { Books = await _dataContext.Books.Where(b => b.InInventory).Select(b => new BooksResponseItemModel { Id = b.Id, Title = b.Title, Author = b.Author }).ToListAsync(), NumberOfBooksInInventory = await _dataContext.Books.CountAsync(b => b.InInventory), NumberOfBooksNotInInventory = await _dataContext.Books.CountAsync(b => b.InInventory == false) }; if (showall) { response.BooksNotInInventory = await _dataContext.Books.Where(b => b.InInventory == false) .Select(b => new BooksResponseItemModel { Id = b.Id, Title = b.Title, Author = b.Author }).ToListAsync(); } return(View(response)); }
public async Task <IActionResult> Index([FromQuery] bool showall = false) { var response = new GetBooksResponseModel { Books = await _dataContext.Books.Where(b => b.InInventory).Select(b => new BooksResponseItemModel { Id = b.Id, Title = b.Title, Author = b.Author }).ToListAsync(), NumberOfBooksInInventory = await _dataContext.Books.CountAsync(b => b.InInventory), NumberOfBooksNotInInventory = await _dataContext.Books.CountAsync(b => b.InInventory == false) }; if (showall) { response.BooksNotInInventory = await _dataContext.Books.Where(b => b.InInventory == false) .Select(b => new BooksResponseItemModel { Id = b.Id, Title = b.Title, Author = b.Author }).ToListAsync(); } return(View(response)); }
public async Task <IActionResult> GetBooksByPageSize(GetBooksByPageSizeRequestModel requestModel) { _logger.LogInformation("Get all books"); var books = await _bookService.GetBooksByCountAsync(requestModel); var bookResponse = _mapper.Map <List <BookResponse> >(books); var totalNumberOfBooks = await _bookService.GetTotalNumberOfBooks(); var getBooksResponse = new GetBooksResponseModel { BookResponses = bookResponse, TotalNumberOfBooks = totalNumberOfBooks }; return(Ok(getBooksResponse)); }