public async Task <(CarOwnersOutputDto, int)> GetCarOwners(GetCarOwners query) { var page = query.Page ?? 1 - 1; var pageSize = query.PageSize ?? 10; var car = await _carRepository.Queryable() .Include(x => x.Owners) .FirstOrDefaultAsync(x => x.Id == query.CarId); var owners = car.Owners .Skip(page * pageSize) .Take(pageSize); var outputOwners = new List <OwnerOutPutDto>(); foreach (var owner in owners) { outputOwners.Add(MapperOwnerToOwnerOutputDto(owner)); } CarOwnersOutputDto carOwnersOutputDto = new CarOwnersOutputDto { Owners = outputOwners, ActiveOwnerId = car.ActiveOwnerId }; (CarOwnersOutputDto carOwnersPage, int allOwnersCount)result = (carOwnersOutputDto, car.Owners.Count); return(result); }
public async Task <IActionResult> GetCarOwnersAsync(GetCarOwners query) { var result = await _carService.GetCarOwners(query); return(Ok(new { pageResult = result.Item1, pageCount = result.Item2 })); }