/** * @param \Symfony\Component\HttpFoundation\Request $request * * @return \Symfony\Component\HttpFoundation\JsonResponse */ public function stockProductAction(Request $request) { $form = $this->getFactory()->getStockProductForm($request); if ($form->isValid()) { $stockProduct = new StockProductTransfer(); $stockProduct->fromArray($form->getRequestData()); if ($stockProduct->getIdStockProduct() === null) { $this->getStockFacade()->createStockProduct($stockProduct); } else { $this->getStockFacade()->updateStockProduct($stockProduct); } $form->setActiveValuesToDefault(); } return $this->jsonResponse($form->renderData()); }
/** * @param \Generated\Shared\Transfer\StockProductTransfer $transferStockProduct * * @return int */ public function updateStockProduct(StockProductTransfer $transferStockProduct) { Propel::getConnection()->beginTransaction(); $idProduct = $this->reader->getProductConcreteIdBySku($transferStockProduct->getSku()); $idStock = $this->reader->getStockTypeIdByName($transferStockProduct->getStockType()); $stockProductEntity = $this->reader->getStockProductById($transferStockProduct->getIdStockProduct()); $stockProductEntity->setFkStock($idStock)->setFkProduct($idProduct)->setQuantity($transferStockProduct->getQuantity())->setIsNeverOutOfStock($transferStockProduct->getIsNeverOutOfStock())->save(); $this->insertActiveTouchRecordStockProduct($stockProductEntity); Propel::getConnection()->commit(); return $stockProductEntity->getPrimaryKey(); }