/**
  * the singleton pattern
  *
  * @return SoEventManager_Controller_SoEvent
  */
 public static function getInstance()
 {
     if (self::$_instance === NULL) {
         self::$_instance = new self();
     }
     return self::$_instance;
 }
Exemple #2
0
 public function saveBankAccountUsage($recordData)
 {
     return $this->_save($recordData, Billing_Controller_BankAccountUsage::getInstance(), 'BankAccountUsage');
 }
 public function removeAllSepaMandatesForContactId($contactId)
 {
     $bankAccounts = Billing_Controller_BankAccount::getInstance()->getByContactId($contactId);
     $baIds = array();
     foreach ($bankAccounts as $bankAccount) {
         $baIds[] = $bankAccount->getId();
     }
     if (count($baIds) > 0) {
         $bFilter = array(array('field' => 'bank_account_id', 'operator' => 'AND', 'value' => array(array('field' => 'id', 'operator' => 'in', 'value' => $baIds))));
         $bFilter = new Billing_Model_SepaMandateFilter($bFilter);
         $sepaMandateIds = $this->search($bFilter, null, false, true);
         if (count($sepaMandateIds) > 0) {
             foreach ($sepaMandateIds as $sepaMandateId) {
                 $bankAccountUsages = Billing_Controller_BankAccountUsage::getInstance()->getBySepaMandateId($sepaMandateId);
                 foreach ($bankAccountUsage as $bankAccountUsage) {
                     $bankAccountUsage->__set('sepa_mandate_id', null);
                     Billing_Controller_BankAccountUsage::getInstance()->update($bankAccountUsage);
                 }
             }
             $this->delete($sepaMandateIds);
             return true;
         }
     }
     return false;
 }
 public function addUsageRegularDonation(Donator_Model_RegularDonation $obj)
 {
     try {
         $usage = Billing_Controller_BankAccountUsage::getInstance()->getByContextAndPurpose('DONATOR', 'APPRECORDONLY', $this->getId(), $obj->getId());
         $usage->__set('bank_account_id', $this->getId());
         $usage->setUsageRegularDonation($obj);
     } catch (Exception $e) {
         $usage = Billing_Controller_BankAccountUsage::getInstance()->getEmptyBankAccountUsage(null, true);
         $usage->__set('bank_account_id', $this->getId());
         $usage->setUsageRegularDonation($obj);
         $usage = Billing_Controller_BankAccountUsage::getInstance()->create($usage);
     }
     return $usage;
 }