Esempio n. 1
0
        // 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));
        }
Esempio n. 3
0
        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));
        }