/** * Creates a QuoteDetails item data object by calling setters. * * @param array $dataArray * @return Item * @SuppressWarnings(PHPMD.CyclomaticComplexity) * @SuppressWarnings(PHPMD.NPathComplexity) */ private function generateItemWithSetters($dataArray) { $this->quoteDetailsItemBuilder->populateWithArray([]); if (array_key_exists(Item::KEY_CODE, $dataArray)) { $this->quoteDetailsItemBuilder->setCode($dataArray[Item::KEY_CODE]); } if (array_key_exists(Item::KEY_TYPE, $dataArray)) { $this->quoteDetailsItemBuilder->setType($dataArray[Item::KEY_TYPE]); } if (array_key_exists(Item::KEY_TAX_CLASS_KEY, $dataArray)) { $this->quoteDetailsItemBuilder->setTaxClassKey($this->taxClassKeyBuilder->setType($dataArray[Item::KEY_TAX_CLASS_KEY][TaxClassKey::KEY_TYPE])->setValue($dataArray[Item::KEY_TAX_CLASS_KEY][TaxClassKey::KEY_VALUE])->create()); } if (array_key_exists(Item::KEY_DISCOUNT_AMOUNT, $dataArray)) { $this->quoteDetailsItemBuilder->setDiscountAmount($dataArray[Item::KEY_DISCOUNT_AMOUNT]); } if (array_key_exists(Item::KEY_QUANTITY, $dataArray)) { $this->quoteDetailsItemBuilder->setQuantity($dataArray[Item::KEY_QUANTITY]); } if (array_key_exists(Item::KEY_PARENT_CODE, $dataArray)) { $this->quoteDetailsItemBuilder->setParentCode($dataArray[Item::KEY_PARENT_CODE]); } if (array_key_exists(Item::KEY_SHORT_DESCRIPTION, $dataArray)) { $this->quoteDetailsItemBuilder->setShortDescription($dataArray[Item::KEY_SHORT_DESCRIPTION]); } if (array_key_exists(Item::KEY_UNIT_PRICE, $dataArray)) { $this->quoteDetailsItemBuilder->setUnitPrice($dataArray[Item::KEY_UNIT_PRICE]); } if (array_key_exists(Item::KEY_TAX_INCLUDED, $dataArray)) { $this->quoteDetailsItemBuilder->setTaxIncluded($dataArray[Item::KEY_TAX_INCLUDED]); } return $this->quoteDetailsItemBuilder->create(); }
/** * {@inheritdoc} */ protected function _setDataValues(array $data) { if (array_key_exists(QuoteDetails::KEY_BILLING_ADDRESS, $data)) { $data[QuoteDetails::KEY_BILLING_ADDRESS] = $this->addressBuilder->populateWithArray($data[QuoteDetails::KEY_BILLING_ADDRESS])->create(); } if (array_key_exists(QuoteDetails::KEY_SHIPPING_ADDRESS, $data)) { $data[QuoteDetails::KEY_SHIPPING_ADDRESS] = $this->addressBuilder->populateWithArray($data[QuoteDetails::KEY_SHIPPING_ADDRESS])->create(); } if (array_key_exists(QuoteDetails::KEY_ITEMS, $data)) { $items = []; foreach ($data[QuoteDetails::KEY_ITEMS] as $itemArray) { $items[] = $this->itemBuilder->populateWithArray($itemArray)->create(); } $data[QuoteDetails::KEY_ITEMS] = $items; } return parent::_setDataValues($data); }