public PagedList <ReturnDetail> GetReturnDetails(ReturnDetailQueryFilter filters) { filters.PageNumber = filters.PageNumber == 0 ? _paginationOptions.DefaultPageNumber : filters.PageNumber; filters.PageSize = filters.PageSize == 0 ? _paginationOptions.DefaultPageSize : filters.PageSize; var returnDetails = _unitOfWork.ReturnDetailRepository.GetAll(); if (filters.BookId != null) { returnDetails = returnDetails.Where(x => x.BookId == filters.BookId); } if (filters.ReturnId != null) { returnDetails = returnDetails.Where(x => x.ReturnId == filters.ReturnId); } if (filters.Fee != null) { returnDetails = returnDetails.Where(x => x.Fee == filters.Fee); } if (filters.PunishFee != null) { returnDetails = returnDetails.Where(x => x.PunishFee == filters.PunishFee); } var pagedReturnDetails = PagedList <ReturnDetail> .Create(returnDetails, filters.PageNumber, filters.PageSize); return(pagedReturnDetails); }
public IActionResult GetReturnDetails([FromQuery] ReturnDetailQueryFilter filters) { var returnDetails = _returnDetailService.GetReturnDetails(filters); var returnDetailsDtos = _mapper.Map <IEnumerable <ReturnDetailDto> >(returnDetails); var metadata = new Metadata { TotalCount = returnDetails.TotalCount, PageSize = returnDetails.PageSize, CurrentPage = returnDetails.CurrentPage, TotalPages = returnDetails.TotalPages, HasNextPage = returnDetails.HasNextPage, HasPreviousPage = returnDetails.HasPreviousPage }; var response = new ApiResponse <IEnumerable <ReturnDetailDto> >(returnDetailsDtos) { Meta = metadata }; Response.Headers.Add("X-Pagination", JsonConvert.SerializeObject(metadata)); return(Ok(response)); }
public Uri GetReturnDetailPaginationUri(ReturnDetailQueryFilter filter, string actionUrl) { string baseUrl = $"{_baseUri}{actionUrl}"; return(new Uri(baseUrl)); }