/**
  * Set the base details
  */
 protected function setDetails()
 {
     // Shipping time
     $shippingTime = PlentymarketsUtils::getShippingTimeByAvailabilityId($this->ItemBase->Availability->AvailabilityID);
     // Active
     $active = $this->ItemBase->Availability->Inactive == 0 && $this->ItemBase->Availability->Webshop == 1;
     $details = array('active' => $active, 'ean' => $this->ItemBase->EAN1, 'minPurchase' => null, 'purchaseSteps' => null, 'maxPurchase' => null, 'purchaseUnit' => null, 'referenceUnit' => null, 'shippingtime' => $shippingTime, 'packUnit' => trim($this->ItemBase->PriceSet->Unit1), 'releaseDate' => $this->ItemBase->Published == 0 ? null : date('c', $this->ItemBase->Published), 'weight' => null, 'width' => null, 'len' => null, 'height' => null, 'attribute' => array('attr1' => $this->ItemBase->FreeTextFields->Free1, 'attr2' => $this->ItemBase->FreeTextFields->Free2, 'attr3' => $this->ItemBase->FreeTextFields->Free3, 'attr4' => $this->ItemBase->FreeTextFields->Free4, 'attr5' => $this->ItemBase->FreeTextFields->Free5, 'attr6' => $this->ItemBase->FreeTextFields->Free6, 'attr7' => $this->ItemBase->FreeTextFields->Free7, 'attr8' => $this->ItemBase->FreeTextFields->Free8, 'attr9' => $this->ItemBase->FreeTextFields->Free9, 'attr10' => $this->ItemBase->FreeTextFields->Free10, 'attr11' => $this->ItemBase->FreeTextFields->Free11, 'attr12' => $this->ItemBase->FreeTextFields->Free12, 'attr13' => $this->ItemBase->FreeTextFields->Free13, 'attr14' => $this->ItemBase->FreeTextFields->Free14, 'attr15' => $this->ItemBase->FreeTextFields->Free15, 'attr16' => $this->ItemBase->FreeTextFields->Free16, 'attr17' => $this->ItemBase->FreeTextFields->Free17, 'attr18' => $this->ItemBase->FreeTextFields->Free18, 'attr19' => $this->ItemBase->FreeTextFields->Free19, 'attr20' => $this->ItemBase->FreeTextFields->Free20));
     if ($this->ItemBase->Availability->MinimumSalesOrderQuantity > 0) {
         $details['minPurchase'] = $this->ItemBase->Availability->MinimumSalesOrderQuantity;
     }
     if ($this->ItemBase->Availability->IntervalSalesOrderQuantity > 0) {
         $details['purchaseSteps'] = $this->ItemBase->Availability->IntervalSalesOrderQuantity;
     }
     if ($this->ItemBase->Availability->MaximumSalesOrderQuantity > 0) {
         $details['maxPurchase'] = $this->ItemBase->Availability->MaximumSalesOrderQuantity;
     }
     if ($this->ItemBase->PriceSet->Lot > 0) {
         $details['purchaseUnit'] = $this->ItemBase->PriceSet->Lot;
     }
     if ($this->ItemBase->PriceSet->PackagingUnit > 0) {
         $details['referenceUnit'] = $this->ItemBase->PriceSet->PackagingUnit;
     }
     if ($this->ItemBase->PriceSet->WeightInGramm > 0) {
         $details['weight'] = $this->ItemBase->PriceSet->WeightInGramm / 1000;
     }
     if ($this->ItemBase->PriceSet->WidthInMM > 0) {
         $details['width'] = $this->ItemBase->PriceSet->WidthInMM / 10;
     }
     if ($this->ItemBase->PriceSet->LengthInMM > 0) {
         $details['len'] = $this->ItemBase->PriceSet->LengthInMM / 10;
     }
     if ($this->ItemBase->PriceSet->HeightInMM > 0) {
         $details['height'] = $this->ItemBase->PriceSet->HeightInMM / 10;
     }
     if (strlen($this->ItemBase->PriceSet->Unit)) {
         try {
             $details['unitId'] = PlentymarketsMappingController::getMeasureUnitByPlentyID($this->ItemBase->PriceSet->Unit);
         } catch (PlentymarketsMappingExceptionNotExistant $E) {
             $details['unitId'] = null;
         }
     }
     $this->details = $details;
 }
 /**
  * Set the base details
  */
 protected function setDetails()
 {
     // Shipping time
     $shippingTime = PlentymarketsUtils::getShippingTimeByAvailabilityId($this->ItemBase->Availability->AvailabilityID);
     // Active
     $active = $this->ItemBase->Availability->Inactive == 0 && $this->ItemBase->Availability->Webshop == 1;
     $details = array('active' => $active, 'ean' => $this->ItemBase->EAN1, 'minPurchase' => null, 'purchaseSteps' => null, 'maxPurchase' => null, 'purchaseUnit' => null, 'referenceUnit' => null, 'shippingtime' => $shippingTime, 'packUnit' => trim($this->ItemBase->PriceSet->Unit1), 'releaseDate' => $this->ItemBase->Published == 0 ? null : date('c', $this->ItemBase->Published), 'weight' => null, 'width' => null, 'len' => null, 'height' => null, 'attribute' => null);
     if (PlentymarketsConfig::getInstance()->getItemFreetextsImportActionID(IMPORT_ITEM_FREETEXTS) == 1) {
         $details['attribute'] = array('attr1' => $this->ItemBase->FreeTextFields->Free1, 'attr2' => $this->ItemBase->FreeTextFields->Free2, 'attr3' => $this->ItemBase->FreeTextFields->Free3, 'attr4' => $this->ItemBase->FreeTextFields->Free4, 'attr5' => $this->ItemBase->FreeTextFields->Free5, 'attr6' => $this->ItemBase->FreeTextFields->Free6, 'attr7' => $this->ItemBase->FreeTextFields->Free7, 'attr8' => $this->ItemBase->FreeTextFields->Free8, 'attr9' => $this->ItemBase->FreeTextFields->Free9, 'attr10' => $this->ItemBase->FreeTextFields->Free10, 'attr11' => $this->ItemBase->FreeTextFields->Free11, 'attr12' => $this->ItemBase->FreeTextFields->Free12, 'attr13' => $this->ItemBase->FreeTextFields->Free13, 'attr14' => $this->ItemBase->FreeTextFields->Free14, 'attr15' => $this->ItemBase->FreeTextFields->Free15, 'attr16' => $this->ItemBase->FreeTextFields->Free16, 'attr17' => $this->ItemBase->FreeTextFields->Free17, 'attr18' => $this->ItemBase->FreeTextFields->Free18, 'attr19' => $this->ItemBase->FreeTextFields->Free19, 'attr20' => $this->ItemBase->FreeTextFields->Free20);
     }
     if ($this->ItemBase->Availability->MinimumSalesOrderQuantity > 0) {
         $details['minPurchase'] = $this->ItemBase->Availability->MinimumSalesOrderQuantity;
     }
     if ($this->ItemBase->Availability->IntervalSalesOrderQuantity > 0) {
         $details['purchaseSteps'] = $this->ItemBase->Availability->IntervalSalesOrderQuantity;
     }
     if ($this->ItemBase->Availability->MaximumSalesOrderQuantity > 0) {
         $details['maxPurchase'] = $this->ItemBase->Availability->MaximumSalesOrderQuantity;
     }
     if ($this->ItemBase->PriceSet->Lot > 0) {
         $details['purchaseUnit'] = $this->ItemBase->PriceSet->Lot;
     }
     if ($this->ItemBase->PriceSet->PackagingUnit > 0) {
         $details['referenceUnit'] = $this->ItemBase->PriceSet->PackagingUnit;
     }
     if ($this->ItemBase->PriceSet->WeightInGramm > 0) {
         $details['weight'] = $this->ItemBase->PriceSet->WeightInGramm / 1000;
     }
     if ($this->ItemBase->PriceSet->WidthInMM > 0) {
         $details['width'] = $this->ItemBase->PriceSet->WidthInMM / 10;
     }
     if ($this->ItemBase->PriceSet->LengthInMM > 0) {
         $details['len'] = $this->ItemBase->PriceSet->LengthInMM / 10;
     }
     if ($this->ItemBase->PriceSet->HeightInMM > 0) {
         $details['height'] = $this->ItemBase->PriceSet->HeightInMM / 10;
     }
     if (strlen($this->ItemBase->PriceSet->Unit)) {
         try {
             $details['unitId'] = PlentymarketsMappingController::getMeasureUnitByPlentyID($this->ItemBase->PriceSet->Unit);
         } catch (PlentymarketsMappingExceptionNotExistant $E) {
             $details['unitId'] = null;
         }
     }
     // Allow plugins to change the details
     $details = Enlight()->Events()->filter('PlentyConnector_ImportEntityItem_AfterSetDetails', $details, array('subject' => $this, 'itembase' => $this->ItemBase, 'shop' => $this->Shop));
     $this->details = $details;
 }