resourceModel = $resourceModel; $this->factory = $factory; } /** * Save an OrderInvoiceStatus object * * @param OrderInvoiceStatus $orderInvoiceStatus * @return OrderInvoiceStatusRepository * @throws AlreadyExistsException * @throws CouldNotSaveException */ public function save(OrderInvoiceStatus $orderInvoiceStatus) { try { $this->resourceModel->save($orderInvoiceStatus); } catch (AlreadyExistsException $e) { throw $e; } catch (\Exception $e) { throw new CouldNotSaveException(__('Unable to save Order Invoice Sent status'), $e); } return $this; } /** * Delete an OrderInvoiceStatus object * * @param OrderInvoiceStatus $orderInvoiceStatus * @return void * @throws CouldNotDeleteException */ public function delete(OrderInvoiceStatus $orderInvoiceStatus) { try { $this->resourceModel->delete($orderInvoiceStatus); } catch (\Exception $e) { throw new CouldNotDeleteException(__('Unable to delete Order Invoice Sent status'), $e); } } /** * Delete an OrderInvoiceStatus object given an Order ID * * @param int $orderId * @return OrderInvoiceStatusRepository * @throws CouldNotDeleteException */ public function deleteByOrderId($orderId) { /** @var OrderInvoiceStatus $orderInvoiceStatus */ $orderInvoiceStatus = $this->factory->create(); $orderInvoiceStatus->setId($orderId); try { $this->resourceModel->delete($orderInvoiceStatus); } catch (\Exception $e) { throw new CouldNotDeleteException(__('Unable to delete Order Invoice Sent status'), $e); } return $this; } /** * Retrieve an OrderInvoiceStatus object for an Order * * @param int $orderId * @return OrderInvoiceStatus * @throws NoSuchEntityException */ public function getByOrderId($orderId) { /** @var OrderInvoiceStatus $orderInvoiceStatus */ $orderInvoiceStatus = $this->factory->create(); $this->resourceModel->load($orderInvoiceStatus, $orderId); if (!$orderInvoiceStatus->getId()) { throw NoSuchEntityException::singleField('orderId', $orderId); } return $orderInvoiceStatus; } }