Example #1
0
        public IActionResult GetListBorrowRequest([FromQuery] BorrowRequestParameters borrowRequestParameters)
        {
            try
            {
                var borrowRequests = _repository.GetBorrowRequests(borrowRequestParameters);
                var metadata       = new
                {
                    borrowRequests.TotalCount,
                    borrowRequests.PageSize,
                    borrowRequests.CurrentPage,
                    borrowRequests.TotalPages,
                    borrowRequests.HasNext,
                    borrowRequests.HasPrevious
                };

                Response.Headers.Add("X-Pagination", JsonConvert.SerializeObject(metadata));
                _logger.LogInformation($"Returned {borrowRequests.TotalCount} borrowRequests from database.");

                return(Ok(borrowRequests));
            }
            catch (Exception ex)
            {
                _logger.LogError($"Something went wrong inside GetList action: {ex.Message}");
                return(StatusCode(500, "Internal server error"));
            }
        }
 public PagedList <BorrowRequest> GetBorrowRequests(BorrowRequestParameters borrowRequestParameters)
 {
     return(PagedList <BorrowRequest>
            .ToPagedList(Entities
                         .OrderBy(b => b.Id),
                         borrowRequestParameters.PageNumber,
                         borrowRequestParameters.PageSize));
 }