Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
StockItemConfiguration.php
Go to the documentation of this file.
1 <?php
6 declare(strict_types=1);
7 
9 
20 use Magento\InventoryConfigurationApi\Api\Data\StockItemConfigurationExtensionInterface;
21 
27 {
31  private $stockItem;
32 
36  private $scopeConfig;
37 
49  public function __construct(
50  Context $context,
52  ExtensionAttributesFactory $extensionFactory,
54  StockItemInterface $stockItem,
55  ScopeConfigInterface $scopeConfig,
57  AbstractDb $resourceCollection = null,
58  array $data = []
59  ) {
60  parent::__construct(
61  $context,
62  $registry,
63  $extensionFactory,
65  $resource,
66  $resourceCollection,
67  $data
68  );
69  $this->stockItem = $stockItem;
70  $this->scopeConfig = $scopeConfig;
71  }
72 
76  public function isQtyDecimal(): bool
77  {
78  return (bool)$this->stockItem->getIsQtyDecimal();
79  }
80 
84  public function setIsQtyDecimal(bool $isQtyDecimal): void
85  {
86  $this->stockItem->setIsQtyDecimal($isQtyDecimal);
87  }
88 
92  public function isShowDefaultNotificationMessage(): bool
93  {
94  return $this->stockItem->getShowDefaultNotificationMessage();
95  }
96 
100  public function isUseConfigMinQty(): bool
101  {
102  return (bool)$this->stockItem->getUseConfigMinQty();
103  }
104 
108  public function setUseConfigMinQty(bool $useConfigMinQty): void
109  {
110  $this->stockItem = $this->stockItem->setUseConfigMinQty($useConfigMinQty);
111  }
112 
116  public function getMinQty(): float
117  {
118  return $this->stockItem->getMinQty();
119  }
120 
124  public function setMinQty(float $minQty): void
125  {
126  $this->stockItem->setMinQty($minQty);
127  }
128 
132  public function isUseConfigMinSaleQty(): bool
133  {
134  return (bool)$this->stockItem->getUseConfigMinSaleQty();
135  }
136 
140  public function setUseConfigMinSaleQty(bool $useConfigMinSaleQty): void
141  {
142  $this->stockItem->setUseConfigMinSaleQty($useConfigMinSaleQty);
143  }
144 
148  public function getMinSaleQty(): float
149  {
150  return $this->stockItem->getMinSaleQty();
151  }
152 
156  public function setMinSaleQty(float $minSaleQty): void
157  {
158  $this->stockItem->setMinSaleQty($minSaleQty);
159  }
160 
164  public function isUseConfigMaxSaleQty(): bool
165  {
166  return (bool)$this->stockItem->getUseConfigMaxSaleQty();
167  }
168 
172  public function setUseConfigMaxSaleQty(bool $useConfigMaxSaleQty): void
173  {
174  $this->stockItem->setUseConfigMaxSaleQty($useConfigMaxSaleQty);
175  }
176 
180  public function getMaxSaleQty(): float
181  {
182  return $this->stockItem->getMaxSaleQty();
183  }
184 
188  public function setMaxSaleQty(float $maxSaleQty): void
189  {
190  $this->stockItem->setMaxSaleQty($maxSaleQty);
191  }
192 
196  public function isUseConfigBackorders(): bool
197  {
198  return (bool)$this->stockItem->getUseConfigBackorders();
199  }
200 
204  public function setUseConfigBackorders(bool $useConfigBackorders): void
205  {
206  $this->stockItem->setUseConfigBackorders($useConfigBackorders);
207  }
208 
212  public function getBackorders(): int
213  {
214  return $this->stockItem->getBackorders();
215  }
216 
220  public function setBackorders(int $backOrders): void
221  {
222  $this->stockItem->setBackorders($backOrders);
223  }
224 
228  public function isUseConfigNotifyStockQty(): bool
229  {
230  return (bool)$this->stockItem->getUseConfigNotifyStockQty();
231  }
232 
236  public function setUseConfigNotifyStockQty(bool $useConfigNotifyStockQty): void
237  {
238  $this->stockItem->setUseConfigNotifyStockQty($useConfigNotifyStockQty);
239  }
240 
244  public function getNotifyStockQty(): float
245  {
246  return $this->stockItem->getNotifyStockQty();
247  }
248 
252  public function setNotifyStockQty(float $notifyStockQty): void
253  {
254  $this->stockItem->setNotifyStockQty($notifyStockQty);
255  }
256 
260  public function isUseConfigQtyIncrements(): bool
261  {
262  return (bool)$this->stockItem->getUseConfigQtyIncrements();
263  }
264 
268  public function setUseConfigQtyIncrements(bool $useConfigQtyIncrements): void
269  {
270  $this->stockItem->setUseConfigQtyIncrements($useConfigQtyIncrements);
271  }
272 
276  public function getQtyIncrements(): float
277  {
278  $qtyIncrements = $this->stockItem->getQtyIncrements();
279  if (false === $qtyIncrements) {
280  return 0;
281  }
282  return $qtyIncrements;
283  }
284 
288  public function setQtyIncrements(float $qtyIncrements): void
289  {
290  $this->stockItem->setQtyIncrements($qtyIncrements);
291  }
292 
296  public function isUseConfigEnableQtyInc(): bool
297  {
298  return (bool)$this->stockItem->getUseConfigEnableQtyInc();
299  }
300 
304  public function setUseConfigEnableQtyInc(bool $useConfigEnableQtyInc): void
305  {
306  $this->stockItem->setUseConfigEnableQtyInc($useConfigEnableQtyInc);
307  }
308 
312  public function isEnableQtyIncrements(): bool
313  {
314  return (bool)$this->stockItem->getEnableQtyIncrements();
315  }
316 
320  public function setEnableQtyIncrements(bool $enableQtyIncrements): void
321  {
322  $this->stockItem->setEnableQtyIncrements($enableQtyIncrements);
323  }
324 
328  public function isUseConfigManageStock(): bool
329  {
330  return (bool)$this->stockItem->getUseConfigManageStock();
331  }
332 
336  public function setUseConfigManageStock(bool $useConfigManageStock): void
337  {
338  $this->stockItem->setUseConfigManageStock($useConfigManageStock);
339  }
340 
344  public function isManageStock(): bool
345  {
346  return (bool)$this->stockItem->getManageStock();
347  }
348 
352  public function setManageStock(bool $manageStock): void
353  {
354  $this->stockItem->setManageStock($manageStock);
355  }
356 
360  public function getLowStockDate(): string
361  {
362  $lowStockDate = $this->stockItem->getLowStockDate();
363  return null === $lowStockDate ? '' : $lowStockDate;
364  }
365 
369  public function setLowStockDate(string $lowStockDate): void
370  {
371  $this->stockItem->setLowStockDate($lowStockDate);
372  }
373 
377  public function isDecimalDivided(): bool
378  {
379  return (bool)$this->stockItem->getIsDecimalDivided();
380  }
381 
385  public function setIsDecimalDivided(bool $isDecimalDivided): void
386  {
387  $this->stockItem->setIsDecimalDivided($isDecimalDivided);
388  }
389 
393  public function getStockStatusChangedAuto(): bool
394  {
395  return (bool)$this->stockItem->getStockStatusChangedAuto();
396  }
397 
401  public function setStockStatusChangedAuto(int $stockStatusChangedAuto): void
402  {
403  $this->stockItem->setStockStatusChangedAuto($stockStatusChangedAuto);
404  }
405 
409  public function getStockThresholdQty(): float
410  {
411  return (float)$this->scopeConfig->getValue(
412  \Magento\CatalogInventory\Model\Configuration::XML_PATH_STOCK_THRESHOLD_QTY,
414  );
415  }
416 
420  public function getExtensionAttributes(): ?StockItemConfigurationExtensionInterface
421  {
423  if (null === $extensionAttributes) {
424  $extensionAttributes = $this->extensionAttributesFactory->create(StockItemConfigurationInterface::class);
426  }
427  return $extensionAttributes;
428  }
429 
433  public function setExtensionAttributes(StockItemConfigurationExtensionInterface $extensionAttributes): void
434  {
435  $this->_setExtensionAttributes($extensionAttributes);
436  }
437 }
setExtensionAttributes(StockItemConfigurationExtensionInterface $extensionAttributes)
_setExtensionAttributes(\Magento\Framework\Api\ExtensionAttributesInterface $extensionAttributes)
$resource
Definition: bulk.php:12
__construct(Context $context, Registry $registry, ExtensionAttributesFactory $extensionFactory, AttributeValueFactory $customAttributeFactory, StockItemInterface $stockItem, ScopeConfigInterface $scopeConfig, AbstractResource $resource=null, AbstractDb $resourceCollection=null, array $data=[])