public function _inspectUpdate($_record, $oldRecord) { // if iban has changed if ($oldRecord->__get('iban') != $_record->__get('iban')) { if (Billing_Api_BankAccount::improveIBAN($_record->__get('iban'))) { $bankAccount = $_record->getForeignRecord('bank_account_id', Billing_Controller_BankAccount::getInstance()); $bankAccount->__set('iban', $_record->__get('iban')); Billing_Controller_BankAccount::getInstance()->update($bankAccount); } } if ($oldRecord->__get('account_name') != $_record->__get('account_name')) { $bankAccount = $_record->getForeignRecord('bank_account_id', Billing_Controller_BankAccount::getInstance()); $bankAccount->__set('name', $_record->__get('account_name')); Billing_Controller_BankAccount::getInstance()->update($bankAccount); } if ($oldRecord->__get('mandate_state') != 'CONFIRMED' && $_record->__get('mandate_state') == 'CONFIRMED') { $_record->__set('is_valid', true); } if ($_record->__get('mandate_state') != 'CONFIRMED') { $_record->__set('is_valid', false); } }
public function improveIBAN($iban) { try { $check = Billing_Api_BankAccount::improveIBAN($iban); if ($check) { return array('state' => 'success', 'data' => null); } else { return array('state' => 'failure', 'data' => null); } } catch (Exception $e) { return array('state' => 'failure', 'errorcode' => $e->getCode(), 'data' => array(), 'count' => 0); } }
public function updateBankAccountFromIbanAndAccountName($bankAccountId, $iban, $bankAccountName) { $bankAccount = $this->get($bankAccountId); $update = false; if ($iban) { if (!Billing_Api_BankAccount::improveIBAN($iban)) { throw new Exception('Invalid iban'); } $bankAccount->__set('iban', $iban); $update = true; } if ($bankAccountName) { $bankAccount->__set('name', $bankAccountName); $update = true; } if ($update) { $bankAccount = $this->update($bankAccount); } return $bankAccount; }