Beispiel #1
0
        public async Task <IActionResult> Search([FromQuery(Name = "title")] string title)
        {
            IEnumerable <BookDTO> booksList;

            try {
                var result = await _bookService.GetBooks(new BooksFilters()
                {
                    FilterByTitle = title,
                    PageNumber    = 1,
                    PageSize      = 10,
                });

                if (result.Count() == 0)
                {
                    return(NoContent());
                }
                booksList = await _shelvesService.SearchBooksInShelves(result);
            }
            catch (AlreadyInDBException e) {
                Console.WriteLine(e);
                return(Problem("AlreadyInDBException: " + e.Message));
            }
            catch (NotFoundException e) {
                Console.WriteLine(e);
                return(NotFound("NotFoundException: " + e.Message));
            }
            catch (BadRequestException e) {
                Console.WriteLine(e);
                return(BadRequest("BadRequestException: " + e.Message));
            }
            catch (Exception e) {
                Console.WriteLine(e);
                return(Problem("Exception: " + e.Message));
            }
            return(Ok(booksList));
        }