public function accountbalancetestingAction()
 {
     $userMapper = new Application_Model_Mapper_Users_UsersMapper();
     $user = $userMapper->findByUsername('test1');
     $userProcessor = new Custom_Processor_Users_AccountBalanceAndRewardPointProcessor($user);
     $accountSummaryMapper = new Application_Model_Mapper_Users_AccountRewardPointsAndBalanceSummary();
     $accountSummaryTmp = $accountSummaryMapper->getAccountSummaryForUser($user);
     if (!$accountSummaryTmp) {
         $accountSummary = new Application_Model_Users_AccountRewardPointsAndBalanceSummary();
         $accountSummary->userID = $user->userID;
         $accountSummary->availableRewardPoints = 8;
         $accountSummary->availableBalance = 8;
         $accountSummary->ledgerBalance = 8;
         $accountSummary->ledgerRewardPoints = 8;
         $user->accountRewardPointsAndBalanceSummary = $accountSummary;
         //$user->setAccountRewardPointsAndBalance($accountSummary);
         $accountSummaryMapper->save($accountSummary);
     } else {
         Zend_Debug::dump($accountSummaryTmp);
         $user->accountRewardPointsAndBalanceSummary = $accountSummaryTmp[0];
     }
     //******Post withdraws
     /*$this->_db->beginTransaction();
     		try{
     			$userProcessor->widthdrawBalance(3);
     			$this->_db->commit();
     		}catch(Exception $e){
     			$this->_db->rollback();
     			echo $e->getMessage();
     		}*/
     //******END
     //******Post pending reward points
     /*
     		
     		$userProcessor->cancelPendingRewardPointsAndBalanceForUser(2);*/
     //******END
     //******Post pending reward points for user
     /*$userMapper = new Application_Model_Mapper_Users_UsersMapper();
     		
     		$user = $userMapper->findByUsername('test1');
     		
     		$userProcessor = new Custom_Processor_Users_AccountBalanceAndRewardPointProcessor($user);
     		
     		$userProcessor->postPendingRewardPointsAndBalanceForUser(1);*/
     //*******END
     //******loading all pending reward points for user
     /*$userMapper = new Application_Model_Mapper_Users_UsersMapper();
     		
     		$user = $userMapper->findByUsername('test1');
     		
     		$userProcessor = new Custom_Processor_Users_AccountBalanceAndRewardPointProcessor($user);
     		
     		$pendingStuff = $userProcessor->loadRewardPointsAndBalanceForUser();
     		
     		Zend_Debug::dump($pendingStuff);*/
     //****END
     /***************testing updatePendingBalanceTracking*/
     /*
     	$this->_db->beginTransaction();
     	$pendingRewardAndBalanceTracking = new Application_Model_Users_UserPendingRewardPointAndBalanceTracking();
     	$pendingRewardAndBalanceTracking->trackingType='BALANCE_ADDITION';
     	$amountType = $pendingRewardAndBalanceTracking->trackingType;
     	
     	$pendingRewardAndBalanceTracking->causedByType='fromOrderProfileID';
     	$causedByColumn = $pendingRewardAndBalanceTracking->causedByType;
     	$pendingRewardAndBalanceTracking->$causedByColumn=1;
     	$pendingRewardAndBalanceTracking->description='Bloody hell';
     	$pendingRewardAndBalanceTracking->status = 'PENDING';
     	$pendingRewardAndBalanceTracking->$amountType=5;
     
     	//must fetch the accountRewardPointsAndBalanceSummary for user first. 
     	//must then apply that fetched accountRewardPoints for the processor.
     
     	echo 'updated reward point tracking is: '.$userProcessor->updatePendingRewardPointsAndBalanceForUser($user->accountRewardPointsAndBalanceSummary, $pendingRewardAndBalanceTracking);
     	
     	Zend_Debug::dump($user);
     	Zend_Debug::dump($accountSummaryMapper->getAccountSummaryForUser($user));
     	$this->_db->rollback();
     */
     //***********end of the testing for updatePendingBalanceTrakcing
     $this->render('index');
 }
 public function widthdrawBalance($amount)
 {
     $this->accountBalanceWithdrawTrackingMapper = new Application_Model_Mapper_Users_UserAccountBalanceWithdrawTracking();
     $accountBalanceWithdrawTracking = new Application_Model_Users_UserAccountBalanceWithdrawTracking();
     $accountBalanceWithdrawTracking->userID = $this->user->userID;
     $accountBalanceWithdrawTracking->balanceWithdrawAmount = $amount;
     //set up pending stuff.
     $pendingRewardAndBalanceTracking = new Application_Model_Users_UserPendingRewardPointAndBalanceTracking();
     $pendingRewardAndBalanceTracking->trackingType = 'BALANCE_DEDUCTION';
     $pendingRewardAndBalanceTracking->userID = $this->user->userID;
     $amountType = $pendingRewardAndBalanceTracking->trackingType;
     $pendingRewardAndBalanceTracking->causedByType = 'causedByUserID';
     $causedByColumn = $pendingRewardAndBalanceTracking->causedByType;
     $pendingRewardAndBalanceTracking->{$causedByColumn} = $this->user->userID;
     $pendingRewardAndBalanceTracking->description = 'Withdraw of $' . $amount . ' USD from user DanceRialto account balance';
     $pendingRewardAndBalanceTracking->status = 'PENDING';
     $pendingRewardAndBalanceTracking->{$amountType} = $amount;
     $pendingRewardAndBalanceTrackingID = $this->pendingRPAndBalanceMapper->save($pendingRewardAndBalanceTracking);
     $pendingRewardAndBalanceTracking->userPendingRewardPointAndBalanceTrackingID = $pendingRewardAndBalanceTrackingID;
     Zend_Debug::dump($pendingRewardAndBalanceTracking);
     $accountBalanceWithdrawTracking->pendingTrackingID = $pendingRewardAndBalanceTrackingID;
     $accountBalanceWithdrawTracking->status = 'PENDING';
     Zend_Debug::dump($accountBalanceWithdrawTracking);
     $this->accountBalanceWithdrawTrackingMapper->save($accountBalanceWithdrawTracking);
     Zend_Debug::dump($accountBalanceWithdrawTracking);
     //update users.
     $accountSummaryMapper = new Application_Model_Mapper_Users_AccountRewardPointsAndBalanceSummary();
     $accountSummaryTmp = $accountSummaryMapper->getAccountSummaryForUser($this->user);
     $this->updatePendingRewardPointsAndBalanceForUser($accountSummaryTmp, $pendingRewardAndBalanceTracking);
 }