public function parseProducts() { $products = new Products(); $keyParams = array(); $currencies = $this->parseCurrencies(); $measurements = $this->parseMeasurements(); foreach ($this->xmlProducts as $xmlProduct) { $code = $xmlProduct->getCode(); $name = $xmlProduct->getName(); $isAGroup = $xmlProduct->isAGroup(); $articul = $xmlProduct->getArticul(); $basicMeasurementUnitCode = $xmlProduct->getBasicMeasurementUnit(); $basicMeasurementUnit = $measurements->getUnitByCode($basicMeasurementUnitCode); $price = $xmlProduct->getPrice(); $currencyCode = $xmlProduct->getCurrency(); $currency = $currencies->getUnitByCode($currencyCode); $measurementUnitCode = $xmlProduct->getBasicMeasurementUnit(); $measurementUnit = $measurements->getUnitByCode($measurementUnitCode); if (!empty($code) && !in_array($code, $keyParams)) { array_push($keyParams, $code); $product = new Product(); $product->setIsAGroup($isAGroup); $product->setCode($code); $product->setName($name); $product->setArticul($articul); $product->setBasicMeasurementUnit($basicMeasurementUnit); $product->setPrice($price); $currency == null ? '' : $product->setCurrency($currency); $measurementUnit == null ? '' : $product->setMeasurementUnit($measurementUnit); $products->setItem($product); } } $categories = $this->parseCategories(); foreach ($this->xmlProducts as $xmlProduct) { $catCode = $xmlProduct->getCategoryCode(); $code = $xmlProduct->getCode(); $current = $products->getItemByCode($code); $parent = $categories->getItemByCode($catCode); if ($parent != null) { $current->setParent($parent); } } $productDAO = new ProductDAO(); $productDAO->insertItems($products); return $products; }