protected function insertCommissionObject($tier, $subType, $commissionValueType, $commissionValue, $groupId, $commissionTypeId) { $obj = new Pap_Db_Commission(); $obj->setTier($tier); $obj->setSubtype($subType); $obj->setCommType($commissionValueType); $obj->setCommission($commissionValue); $obj->setGroupId($groupId); $obj->setCommissionTypeId($commissionTypeId); $obj->save(); }
private function saveCommissionRecord($tier, $subtype, $commissionType, $commissionValue) { $commission = new Pap_Db_Commission(); $commission->setTier($tier); $commission->setSubtype($subtype); $commission->setGroupId($this->commissionGroupId); $commission->setTypeId($this->commissionTypeId); if ($commissionValue == null) { $commissionValue = 0; } try { $commission->loadFromData(); // loaded, change commission value and save $commission->setCommType($commissionType); $commission->setCommission($commissionValue); $commission->save(); } catch(Gpf_DbEngine_NoRowException $e) { // doesn't exist, insert new record $commission->setCommType($commissionType); $commission->setCommission($commissionValue); $commission->insert(); } catch(Gpf_DbEngine_TooManyRowsException $e) { // there are multiple rows, it is a mistake $commission->deleteUnusedCommissions($tier, $subtype, $this->commissionGroupId, $this->commissionTypeId, 'exact'); $commission->setCommType($commissionType); $commission->setCommission($commissionValue); $commission->insert(); } }