/** * Updates product with the provided request data * * @param ProductInterface $product * @param array $data */ protected function updateProduct(ProductInterface $product, array $data) { $values = $this->localizedConverter->convertToDefaultFormats($data['values'], ['locale' => $this->userContext->getUiLocale()->getCode()]); $values = $this->emptyValuesFilter->filter($product, $values); unset($data['values']); $data = array_replace($data, $values); $this->productUpdater->update($product, $data); }
/** * @param ProductInterface $product * @param array $convertedItem * * @return array */ protected function filterIdenticalData(ProductInterface $product, array $convertedItem) { return $this->productAssocFilter->filter($product, $convertedItem); }
/** * @param ProductInterface $product * @param array $filteredItem * * @return array */ protected function filterIdenticalData(ProductInterface $product, array $filteredItem) { $filteredItem = $this->productFilter->filter($product, $this->convertDataToValue($filteredItem)); return $this->convertValueToData($filteredItem); }