Exemple #1
0
        public IActionResult GetBooks([FromQuery] int pageNumber    = 1,
                                      [FromQuery] int?pageSize      = null,
                                      [FromQuery] DateTime?loanDate = null,
                                      [FromQuery] int?duration      = null)
        {
            try
            {
                if (!loanDate.HasValue && !duration.HasValue)
                {
                    var books = bookService.GetBooks(pageNumber, pageSize);
                    return(Ok(books));
                }
                else
                {
                    var report = reportingService.GetBooksReport(pageNumber, pageSize, loanDate, duration);
                    return(Ok(report));
                }
            }
            catch (Exception ex)
            {
                var error = new ErrorDTO
                {
                    Code    = 500,
                    Message = ex.Message
                };

                return(StatusCode(error.Code, error));
            }
        }