public async Task <ActionResult <JobSetsResponse> > GetAll([FromQuery] JobSetsQuery jobSetsQuery) { IQueryable <JobSet> dataQuery = JobShopCollectionDbContext.JobSet; if (jobSetsQuery.PageToken != null) { dataQuery = dataQuery.Where(j => j.Id < jobSetsQuery.PageToken); } var data = await dataQuery .OrderByDescending(j => j.Id) .Take(jobSetsQuery.Limit) .ProjectTo <JobSetHeaderDto>(Mapper.ConfigurationProvider) .ToListAsync(); int?nextPageToken = data.Count == jobSetsQuery.Limit ? data[^ 1].Id : default(int?);
public async Task <ActionResult <JobSetHeadersDto> > GetAll([FromQuery] JobSetsQuery jobSetsQuery) { IQueryable <JobSet> dataQuery = JobShopCollectionDbContext.JobSet; if (jobSetsQuery.PageToken != null) { dataQuery = dataQuery.Where(j => j.Id < jobSetsQuery.PageToken); } var data = await dataQuery .OrderByDescending(j => j.Id) .Take(jobSetsQuery.Limit) .ProjectTo <JobSetHeaderDto>(Mapper.ConfigurationProvider) .ToListAsync(); int?nextPageToken = data.Count == jobSetsQuery.Limit ? data[data.Count - 1].Id : default(int?); // testing code //if (jobSetsQuery.PageToken == 1) //{ // return new JobSetHeadersDto // { // Data = new List<JobSetHeaderDto> { new JobSetHeaderDto { Id = 2, Description = "congratulations 2", Title = "congrats 2", RowVersion = new byte[0] } }, // NextPageToken = default(int?) // }; //} //if (jobSetsQuery.PageToken != 1) //{ // return new JobSetHeadersDto // { // Data = new List<JobSetHeaderDto> { new JobSetHeaderDto { Id = 1, Description = "congratulations", Title = "congrats", RowVersion = new byte[0] } }, // NextPageToken = 1 // }; //} return(new JobSetHeadersDto { Data = data, NextPageToken = nextPageToken }); }