public function addGood(Doghouse_Australia_Eparcel_Record_Good $goodRecord) { $this->weight += $goodRecord->weight * $goodRecord->quantity; return parent::addGood($goodRecord); }
/** * @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; }