repository = $repository; } /** * @param InvoiceQuery $query * @return InvoiceItemInterface[] */ public function getInvoiceItemsForQuery(InvoiceQuery $query): iterable { return $this->repository->getTimesheetsForQuery($query, true); } /** * @param InvoiceItemInterface[] $invoiceItems */ public function setExported(array $invoiceItems) { $timesheets = []; foreach ($invoiceItems as $item) { if ($item instanceof Timesheet) { $timesheets[] = $item; } } if (empty($timesheets)) { return; } $this->repository->setExported($timesheets); } }