Invoice.php 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Magento\Sales\Model\ResourceModel\Order;
  7. use Magento\Framework\App\ResourceConnection;
  8. use Magento\SalesSequence\Model\Manager;
  9. use Magento\Sales\Model\ResourceModel\Attribute;
  10. use Magento\Sales\Model\ResourceModel\EntityAbstract as SalesResource;
  11. use Magento\Framework\Model\ResourceModel\Db\VersionControl\Snapshot;
  12. use Magento\Sales\Model\Spi\InvoiceResourceInterface;
  13. /**
  14. * Flat sales order invoice resource
  15. */
  16. class Invoice extends SalesResource implements InvoiceResourceInterface
  17. {
  18. /**
  19. * Event prefix
  20. *
  21. * @var string
  22. */
  23. protected $_eventPrefix = 'sales_order_invoice_resource';
  24. /**
  25. * Model initialization
  26. *
  27. * @return void
  28. */
  29. protected function _construct()
  30. {
  31. $this->_init('sales_invoice', 'entity_id');
  32. }
  33. /**
  34. * Perform actions before object save
  35. *
  36. * @param \Magento\Framework\Model\AbstractModel|\Magento\Framework\DataObject $object
  37. * @return $this
  38. */
  39. protected function _beforeSave(\Magento\Framework\Model\AbstractModel $object)
  40. {
  41. /** @var \Magento\Sales\Model\Order\Invoice $object */
  42. if (!$object->getOrderId() && $object->getOrder()) {
  43. $object->setOrderId($object->getOrder()->getId());
  44. $object->setBillingAddressId($object->getOrder()->getBillingAddress()->getId());
  45. }
  46. return parent::_beforeSave($object);
  47. }
  48. }