Example #1
0
 /**
  * @param \AvaTax\GetTaxRequest $soapRequest
  *
  * @return array
  */
 public function normalizeGetTaxRequest(AvaTax\GetTaxRequest $soapRequest)
 {
     $isDevMode = Mage::getIsDeveloperMode();
     if ($isDevMode) {
         Mage::setIsDeveloperMode(false);
     }
     $soapRequest->prepare();
     $request = array('CompanyCode' => $soapRequest->getCompanyCode(), 'DocType' => $soapRequest->getDocType(), 'DocCode' => $soapRequest->getDocCode(), 'Commit' => $soapRequest->getCommit(), 'DetailLevel' => $soapRequest->getDetailLevel(), 'DocDate' => $soapRequest->getDocDate(), 'CustomerCode' => $soapRequest->getCustomerCode(), 'CurrencyCode' => $soapRequest->getCurrencyCode(), 'Discount' => $soapRequest->getDiscount(), 'BusinessIdentificationNo' => $soapRequest->getBusinessIdentificationNo(), 'Addresses' => array(), 'Lines' => array(), 'TaxOverride' => array());
     foreach ($soapRequest->getAddresses() as $soapAddress) {
         /** @var AvaTax\Address $soapAddress */
         $request['Addresses'][] = array('AddressCode' => $soapAddress->getAddressCode(), 'Line1' => $soapAddress->getLine1(), 'Line2' => $soapAddress->getLine2(), 'Line3' => $soapAddress->getLine3(), 'City' => $soapAddress->getCity(), 'Region' => $soapAddress->getRegion(), 'Country' => $soapAddress->getCountry(), 'PostalCode' => $soapAddress->getPostalCode());
     }
     foreach ($soapRequest->getLines() as $soapLine) {
         /** @var AvaTax\Line $soapLine */
         $request['Lines'][] = array("LineNo" => $soapLine->getNo(), "ItemCode" => $soapLine->getItemCode(), "Qty" => $soapLine->getQty(), "Amount" => $soapLine->getAmount(), "OriginCode" => $soapLine->getOriginAddress()->getAddressCode(), "DestinationCode" => $soapLine->getDestinationAddress()->getAddressCode(), "Description" => $soapLine->getDescription(), "TaxCode" => $soapLine->getTaxCode(), "Discounted" => $soapLine->getDiscounted(), "TaxIncluded" => $soapLine->getTaxIncluded(), "Ref1" => $soapLine->getRef1(), "Ref2" => $soapLine->getRef2());
     }
     if ($soapRequest->getTaxOverride() instanceof AvaTax\TaxOverride) {
         /** @var AvaTax\TaxOverride $override */
         $override = $soapRequest->getTaxOverride();
         $request['TaxOverride']['TaxOverrideType'] = $override->getTaxOverrideType();
         $request['TaxOverride']['TaxDate'] = $override->getTaxDate();
         $request['TaxOverride']['TaxAmount'] = $override->getTaxAmount();
         $request['TaxOverride']['Reason'] = $override->getReason();
     }
     if ($isDevMode) {
         Mage::setIsDeveloperMode(true);
     }
     return $this->recursiveKeySort($request);
 }