Beispiel #1
0
 private function saveTaxRates(Tax $tax)
 {
     $zones = DeliveryZone::getAll();
     $zones->add(DeliveryZone::getDefaultZoneInstance());
     $classes = TaxClass::getAllClasses();
     ActiveRecord::beginTransaction();
     foreach ($zones as $zone) {
         // delete all zone tax rates
         $taxRates = $zone->getTaxRates();
         foreach ($taxRates as $rate) {
             if ($rate->taxID->get()->getID() == $tax->getID()) {
                 $rate->delete();
             }
         }
         $this->saveRate($zone, $tax);
         foreach ($classes as $class) {
             $this->saveRate($zone, $tax, $class);
         }
     }
     ActiveRecord::commit();
 }
Beispiel #2
0
 private function getFieldName(Tax $tax, TaxClass $class = null)
 {
     $classID = $class ? $class->getID() : '';
     return 'tax_' . $tax->getID() . '_' . $classID;
 }