Exemplo n.º 1
0
 public function calcTax($zip, Money $amount)
 {
     if ($zip === null) {
         return Money::fromFloat(0);
     } else {
         switch ($this->getMarketId()) {
             case Market::MARKET_NEW_ZEALAND:
                 // New Zealand
             // New Zealand
             case Market::MARKET_AUSTRALIA:
                 // Australia Mate
             // Australia Mate
             case Market::MARKET_GERMANY:
                 // Germany
             // Germany
             case Market::MARKET_SPAIN:
                 // Spain
             // Spain
             case Market::MARKET_FRANCE:
                 // France
             // France
             case Market::MARKET_UNITED_KINGDOM:
                 // United Kingdom
                 return Money::fromFloat(0);
                 break;
             case Market::MARKET_CANADA:
                 //canada
                 return Money::fromFloat(0);
                 break;
             case Market::MARKET_USA:
                 //US
             //US
             default:
                 $useTax = ClassRegistry::init('Usetax');
                 break;
         }
         $rate = (double) $useTax->getTaxRate($zip);
         return $amount->copy()->times($rate);
     }
 }
Exemplo n.º 2
0
 /**
  * @return Money
  * @param Money $m
  */
 public function subtract(Money $m)
 {
     return $this->add($m->copy()->makeNegative());
 }