diff --git a/AsbCloudInfrastructure/Repository/WellOperationRepository.cs b/AsbCloudInfrastructure/Repository/WellOperationRepository.cs index 9bcc718b..522895a7 100644 --- a/AsbCloudInfrastructure/Repository/WellOperationRepository.cs +++ b/AsbCloudInfrastructure/Repository/WellOperationRepository.cs @@ -54,15 +54,15 @@ public class WellOperationRepository : CrudRepositoryBase> GetPageAsync(WellOperationRequest request, CancellationToken token) { - var skip = request.Skip ?? 0; - var take = request.Take ?? 32; + request.Skip = request.Skip ?? 0; + request.Take = request.Take ?? 32; var (items, count) = await GetWithDaysAndNpvAsync(request, token); var paginationContainer = new PaginationContainer { - Skip = skip, - Take = take, + Skip = request.Skip!.Value, + Take = request.Take!.Value, Count = count, Items = items }; @@ -178,9 +178,6 @@ public class WellOperationRepository : CrudRepositoryBase items, int count)> GetWithDaysAndNpvAsync(WellOperationRequest request, CancellationToken token) { - var skip = request.Skip ?? 0; - var take = request.Take ?? 32; - var entities = await GetByIdsWells(request.IdsWell, token); var groupedByWellAndType = entities .GroupBy(e => new { e.IdWell, e.IdType }); @@ -198,11 +195,14 @@ public class WellOperationRepository : CrudRepositoryBase filteredWellOperations = FilterByRequest(wellOperationsWithType.AsQueryable(), request); - var filteredWellOperationsPart = filteredWellOperations - .Skip(skip) - .Take(take); + count += filteredWellOperations.Count(); - var dtos = filteredWellOperationsPart + if (request.Skip != null) + filteredWellOperations = filteredWellOperations.Skip((int)request.Skip); + if (request.Take != null) + filteredWellOperations = filteredWellOperations.Take((int)request.Take); + + var dtos = filteredWellOperations .Select(entity => { var dto = Convert(entity); @@ -214,7 +214,6 @@ public class WellOperationRepository : CrudRepositoryBase : ExcelExportService