Manager.php 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Magento\SalesSequence\Model;
  7. use Magento\SalesSequence\Model\ResourceModel\Meta as ResourceSequenceMeta;
  8. /**
  9. * Class Manager
  10. * @api
  11. * @since 100.0.2
  12. */
  13. class Manager
  14. {
  15. /**
  16. * @var ResourceSequenceMeta
  17. */
  18. protected $resourceSequenceMeta;
  19. /**
  20. * @var SequenceFactory
  21. */
  22. protected $sequenceFactory;
  23. /**
  24. * @param ResourceSequenceMeta $resourceSequenceMeta
  25. * @param SequenceFactory $sequenceFactory
  26. */
  27. public function __construct(
  28. ResourceSequenceMeta $resourceSequenceMeta,
  29. SequenceFactory $sequenceFactory
  30. ) {
  31. $this->resourceSequenceMeta = $resourceSequenceMeta;
  32. $this->sequenceFactory = $sequenceFactory;
  33. }
  34. /**
  35. * Returns sequence for given entityType and store
  36. *
  37. * @param string $entityType
  38. * @param int $storeId
  39. *
  40. * @return \Magento\Framework\DB\Sequence\SequenceInterface
  41. * @throws \Magento\Framework\Exception\LocalizedException
  42. */
  43. public function getSequence($entityType, $storeId)
  44. {
  45. return $this->sequenceFactory->create(
  46. [
  47. 'meta' => $this->resourceSequenceMeta->loadByEntityTypeAndStore(
  48. $entityType,
  49. $storeId
  50. )
  51. ]
  52. );
  53. }
  54. }