trackResource = $trackResource; $this->trackFactory = $trackFactory; $this->searchResultFactory = $searchResultFactory; $this->collectionProcessor = $collectionProcessor; } /** * @inheritdoc */ public function getList(SearchCriteriaInterface $searchCriteria) { $searchResult = $this->searchResultFactory->create(); $this->collectionProcessor->process($searchCriteria, $searchResult); $searchResult->setSearchCriteria($searchCriteria); return $searchResult; } /** * @inheritdoc */ public function get($id) { $entity = $this->trackFactory->create(); $this->trackResource->load($entity, $id); return $entity; } /** * @inheritdoc */ public function delete(ShipmentTrackInterface $entity) { try { $this->trackResource->delete($entity); } catch (\Exception $e) { throw new CouldNotDeleteException(__('Could not delete the shipment tracking.'), $e); } return true; } /** * @inheritdoc */ public function save(ShipmentTrackInterface $entity) { try { $this->trackResource->save($entity); } catch (\Exception $e) { throw new CouldNotSaveException(__('Could not save the shipment tracking.'), $e); } return $entity; } /** * @inheritdoc */ public function deleteById($id) { $entity = $this->get($id); return $this->delete($entity); } }