public function Amount($order)
 {
     $shopConfig = ShopConfig::current_shop_config();
     $amount = new Price();
     $amount->setAmount($order->SubTotal()->getAmount() * ($this->Rate / 100));
     $amount->setCurrency($shopConfig->BaseCurrency);
     $amount->setSymbol($shopConfig->BaseCurrencySymbol);
     return $amount;
 }
 public function Amount()
 {
     // TODO: Multi currency
     $shopConfig = ShopConfig::current_shop_config();
     $amount = new Price();
     $amount->setAmount($this->Price);
     $amount->setCurrency($shopConfig->BaseCurrency);
     $amount->setSymbol($shopConfig->BaseCurrencySymbol);
     $this->extend('updateAmount', $amount);
     return $amount;
 }
 /**
  * Get the form fields for the OrderForm.
  * 
  * @return FieldList List of fields
  */
 public function getFormFields()
 {
     $fields = new FieldList();
     $field = new XeroTaxModifierField($this, _t('Xero.TAX', 'Tax'));
     $shopConfig = ShopConfig::current_shop_config();
     $amount = new Price();
     $amount->setAmount($this->Price);
     $amount->setCurrency($shopConfig->BaseCurrency);
     $amount->setSymbol($shopConfig->BaseCurrencySymbol);
     $field->setAmount($amount);
     $fields->push($field);
     if (!$fields->exists()) {
         Requirements::javascript('swipestripe-flatfeetax/javascript/FlatFeeTaxModifierField.js');
     }
     return $fields;
 }
 /**
  * Calculate the tax component based on tax rates for the items and modifications in the order
  * 
  * @param  Order  $order
  * @return Price  The tax amount for the order
  */
 public function calculate(Order $order)
 {
     $taxAmount = 0;
     $shopConfig = ShopConfig::current_shop_config();
     $items = $order->Items();
     if ($items && $items->exists()) {
         foreach ($items as $item) {
             $taxAmount += $item->Total()->getAmount() * ($item->XeroTaxRate / 100);
         }
     }
     $mods = $order->Modifications();
     if ($mods && $mods->exists()) {
         foreach ($mods as $mod) {
             $taxAmount += $mod->Amount()->getAmount() * ($mod->XeroTaxRate / 100);
         }
     }
     $amount = new Price();
     $amount->setAmount($taxAmount);
     $amount->setCurrency($shopConfig->BaseCurrency);
     $amount->setSymbol($shopConfig->BaseCurrencySymbol);
     return $amount;
 }