Beispiel #1
0
 public function addGood(Doghouse_Australia_Eparcel_Record_Good $goodRecord)
 {
     $this->weight += $goodRecord->weight * $goodRecord->quantity;
     return parent::addGood($goodRecord);
 }
Beispiel #2
0
 /**
  * @param Doghouse_Australia_Eparcel $eparcel
  * @param Doghouse_Australia_Eparcel_Parcel $parcel
  * @return bool
  */
 protected function closeParcel(Doghouse_Australia_Eparcel $eparcel, Doghouse_Australia_Eparcel_Parcel $parcel)
 {
     $articleRecordClass = (bool) $this->getDefault('parcel/use_cubicweight') ? 'Doghouse_Australia_Eparcel_Record_Article_CubicWeight' : 'Doghouse_Australia_Eparcel_Record_Article';
     $goodRecords = $parcel->getGoodRecords();
     if (count($goodRecords) == 0) {
         return false;
     }
     $eparcel->addRecord($parcel->processArticleRecord(new $articleRecordClass()));
     if ((bool) $this->getDefault('good/use_multiplegoodrecords')) {
         foreach ($parcel->getGoodRecords() as $_goodRecord) {
             $eparcel->addRecord($_goodRecord);
         }
     } else {
         $goodRecord = new Doghouse_Australia_Eparcel_Record_Good();
         $goodRecord->originCountryCode = '';
         $goodRecord->hsTariffCode = '';
         $goodRecord->productClassification = null;
         $goodRecord->quantity = 1;
         foreach ($parcel->getGoodRecords() as $_goodRecord) {
             /* Set product type and description */
             $goodRecord->productType = $_goodRecord->productType;
             $goodRecord->description = str_replace(',', '', $_goodRecord->description);
             // remove commas
             /* Add weight * quantity */
             $goodRecord->weight += $_goodRecord->weight * $_goodRecord->quantity;
             $goodRecord->unitValue += $_goodRecord->unitValue * $_goodRecord->quantity;
             $goodRecord->totalValue += $_goodRecord->totalValue;
         }
         $eparcel->addRecord($goodRecord);
     }
     return true;
 }