public IActionResult GetDriverLicenses(DriverLicenseResourceParameters resourceParameters) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var licenses = _usersRepository.GetDriverLicenses(resourceParameters); var prevLink = licenses.HasPrevious ? _resourceUriHelper.CreateResourceUri(resourceParameters, ResourceUriType.PrevoiusPage, nameof(GetDriverLicenses)) : null; var nextLink = licenses.HasNext ? _resourceUriHelper.CreateResourceUri(resourceParameters, ResourceUriType.NextPage, nameof(GetDriverLicenses)) : null; Response.Headers.Add("X-Pagination", Helpers.PaginationMetadata.GeneratePaginationMetadata(licenses, resourceParameters, prevLink, nextLink)); var licensesDtos = new List <DriverLicenseDto>(); foreach (var l in licenses) { licensesDtos.Add(Mapper.Map <DriverLicenseDto>(l)); } return(Ok(licensesDtos)); }
public PagedList <DriverLicense> GetDriverLicenses(DriverLicenseResourceParameters resourceParameters) { IQueryable <DriverLicense> beforePaging = _dataContext.DriverLicenses.OrderBy(l => l.UpdateTime); if (resourceParameters.IsApproved != null) { beforePaging = beforePaging.Where(p => p.IsApproved == resourceParameters.IsApproved); } return(PagedList <DriverLicense> .Create(beforePaging, resourceParameters.PageNumber, resourceParameters.PageSize)); }