/** * Return the name of the tax given its lsid * * @param $intLsId * @return mixed|null */ public static function TaxByLsid($intLsId) { $obj = Tax::LoadByLS($intLsId); if ($obj instanceof Tax === true) { return $obj->tax; } else { Yii::log(sprintf('Tax with lsid: %s not found', $intLsId), 'error', 'application.' . __CLASS__ . '.' . __FUNCTION__); return null; } }
/** * Adds tax to the system * * @param string $passkey * @param int $intNo * @param string $strTax * @param float $fltMax * @param int $blnCompounded * @return string */ public function add_tax($passkey, $intNo, $strTax, $fltMax, $blnCompounded) { if (!$this->check_passkey($passkey)) { return self::FAIL_AUTH; } if ($intNo > 5) { _xls_log(sprintf("SOAP ERROR : System can only handle %s number of taxes. Specified %s", 5, $intNo)); return self::UNKNOWN_ERROR; } // Loads tax $tax = Tax::LoadByLS($intNo); if (!$tax) { $tax = new Tax(); $tax->lsid = $intNo; } $tax->tax = $strTax; $tax->max_tax = $fltMax; $tax->compounded = $blnCompounded; if (!$tax->save()) { _xls_log("SOAP ERROR : Error adding tax {$strTax} " . print_r($tax->getErrors(), true)); return self::UNKNOWN_ERROR . " Error adding tax {$strTax} " . print_r($tax->getErrors(), true); } return self::OK; }
/** * Adds tax to the system * * @param string $passkey * @param int $intNo * @param int $intTaxRateId * @param string $strTax * @param float $fltMax * @param int $blnCompounded * @return string * @throws SoapFault * @soap */ public function add_tax($passkey, $intNo, $intTaxRateId, $strTax, $fltMax, $blnCompounded) { self::check_passkey($passkey); //Remove if we have this tax already, just readd Tax::model()->deleteAllByAttributes(array('id' => $intTaxRateId)); Tax::model()->deleteAllByAttributes(array('lsid' => $intNo)); // Loads tax $tax = Tax::LoadByLS($intNo); if (!$tax) { $tax = new Tax(); $tax->id = $intTaxRateId; $tax->lsid = $intNo; } $tax->tax = $strTax; $tax->max_tax = $fltMax; $tax->compounded = $blnCompounded; if (!$tax->save()) { $strMsg = "Error adding tax {$strTax}"; Yii::log("SOAP ERROR : {$strMsg} " . print_r($tax->getErrors(), true), CLogger::LEVEL_ERROR, 'application.' . __CLASS__ . "." . __FUNCTION__); throw new SoapFault($strMsg, WsSoapException::ERROR_UNKNOWN); } return self::OK; }