/**
  * Get Stock Data
  *
  * @param StockItemInterface $stockItem
  * @return array
  */
 private function getData(StockItemInterface $stockItem)
 {
     $result = $stockItem->getData();
     $result[StockItemInterface::MANAGE_STOCK] = (int) $stockItem->getManageStock();
     $result[StockItemInterface::QTY] = (double) $stockItem->getQty();
     $result[StockItemInterface::MIN_QTY] = (double) $stockItem->getMinQty();
     $result[StockItemInterface::MIN_SALE_QTY] = (double) $stockItem->getMinSaleQty();
     $result[StockItemInterface::MAX_SALE_QTY] = (double) $stockItem->getMaxSaleQty();
     $result[StockItemInterface::IS_QTY_DECIMAL] = (int) $stockItem->getIsQtyDecimal();
     $result[StockItemInterface::IS_DECIMAL_DIVIDED] = (int) $stockItem->getIsDecimalDivided();
     $result[StockItemInterface::BACKORDERS] = (int) $stockItem->getBackorders();
     $result[StockItemInterface::NOTIFY_STOCK_QTY] = (double) $stockItem->getNotifyStockQty();
     $result[StockItemInterface::ENABLE_QTY_INCREMENTS] = (int) $stockItem->getEnableQtyIncrements();
     $result[StockItemInterface::QTY_INCREMENTS] = (double) $stockItem->getQtyIncrements();
     $result[StockItemInterface::IS_IN_STOCK] = (int) $stockItem->getIsInStock();
     return $result;
 }
 /**
  * @param StockItemInterface $stockItem
  * @param float|int $qty
  * @return \Magento\Framework\DataObject
  */
 public function checkQtyIncrements(StockItemInterface $stockItem, $qty)
 {
     $result = new \Magento\Framework\DataObject();
     if ($stockItem->getSuppressCheckQtyIncrements()) {
         return $result;
     }
     $qtyIncrements = $stockItem->getQtyIncrements() * 1;
     if ($qtyIncrements && $this->mathDivision->getExactDivision($qty, $qtyIncrements) != 0) {
         $result->setHasError(true)->setQuoteMessage(__('Please correct the quantity for some products.'))->setErrorCode('qty_increments')->setQuoteMessageIndex('qty');
         if ($stockItem->getIsChildItem()) {
             $result->setMessage(__('You can buy %1 only in quantities of %2 at a time.', $stockItem->getProductName(), $qtyIncrements));
         } else {
             $result->setMessage(__('You can buy this product only in quantities of %1 at a time.', $qtyIncrements));
         }
     }
     return $result;
 }