protected function postInsert() { $this->profile->setUserId($this->getId()); $this->profile->save(false); /*$this->sendEmail('user-register.tpl');*/ if ($this->user_type == 'admin') { DatabaseObject_StaticUtility::addClubNumber($this->_db, $this->university_id); DatabaseObject_StaticUtility::addTypeClubNumber($this->_db, $this->type_id); } /*****creat account balance now.*/ if (!$this->accountbalanceExists()) { $this->accountBalanceSummary->user_id = $this->getId(); $this->accountBalanceSummary->save(false); } unset($_SESSION['referral']); //remove the current referral session //echo "at post insert person: ".$this->referral_id; if ($this->referral_id != '') { $referralUser = new DatabaseObject_User($this->_db); if ($referralUser->loadByRefereeId($this->referral_id)) { $referralAccountAndRewardPointProcessor = new AccountBalanceAndRewardPointProcessor($this->_db, $referralUser); $trackingId = $referralAccountAndRewardPointProcessor->updatePendingRewardPointsAndBalanceForUser('REWARD_ADDITION', 4, 'caused_by_user_id', $this->getId(), 'Reward points awarded for the referral of user ' . $this->first_name . ' ' . $this->last_name); $referralAccountAndRewardPointProcessor->postPendingRewardPointsAndBalanceForUser($trackingId); } //DatabaseObject_Helper_UserManager::addRewardPointToUser($this->_db, $this->referral_id, '4', 'from referred new member registration', $_SERVER['REMOTE_ADDR'], $this->username, $this->getId(), $this->referee_id); } $userAccountBalanceAndRewardPointProcessor = new AccountBalanceAndRewardPointProcessor($this->_db, $this); $trackingId = $userAccountBalanceAndRewardPointProcessor->updatePendingRewardPointsAndBalanceForUser('REWARD_ADDITION', 8, 'caused_by_user_id', $this->getId(), 'Reward points awarded for registration'); $userAccountBalanceAndRewardPointProcessor->postPendingRewardPointsAndBalanceForUser($trackingId); return true; }
public function processtransfersAction() { $transferId = $this->getRequest()->getParam('transferId'); $transferTracking = new DatabaseObject_Account_UserAccountBalanceTransferTracking($this->db); if ($transferTracking->load($transferId)) { echo 'here at loaded<br/>'; if ($transferTracking->status == 'PENDING') { echo 'here at pending<br/>'; $user = new DatabaseObject_User($this->db); $user->load($transferTracking->from_user_id); $userPendingBalanceProcessor = new AccountBalanceAndRewardPointProcessor($this->db, $user); $toUser = new DatabaseObject_User($this->db); $toUser->load($transferTracking->to_user_id); $toUserPendingBalanceProcessor = new AccountBalanceAndRewardPointProcessor($this->db, $toUser); if ($userPendingBalanceProcessor->postPendingRewardPointsAndBalanceForUser($transferTracking->sender_pending_tracking_id) && $toUserPendingBalanceProcessor->postPendingRewardPointsAndBalanceForUser($transferTracking->receiver_pending_tracking_id)) { echo 'here at processed'; $transferTracking->status = 'PROCESSED'; $transferTracking->date_processed = date('Y-m-d G:i:s'); $transferTracking->save(); } } else { echo 'not pending, can not be done'; echo $transferTracking->status; } } else { echo 'here at not loaded'; } }
public function markorderasupdatedorcancelledAction() { //there are still tracking id problems. $this->adminOrders = new Zend_Session_Namespace('adminOrders'); $orderItemId = $this->getRequest()->getParam('id'); $product = new DatabaseObject_OrderProfile($this->db); if ($product->load($orderItemId)) { //Load dance rialto $danceRialto = new DatabaseObject_User($this->db); //that is the id of DanceRialto Admin $danceRialto->load(1); $danceRialtoAccountProcessor = new AccountBalanceAndRewardPointProcessor($this->db, $danceRialto); //load seller. $seller = new DatabaseObject_User($this->db); $seller->load($product->uploader_id); echo 'orderProfile uploader_id is: ' . $seller->getId(); //Zend_Debug::dump($seller); $sellerBalanceAccountProcessor = new AccountBalanceAndRewardPointProcessor($this->db, $seller); //load buyer $buyer = new DatabaseObject_User($this->db); $buyer->load($product->buyer_id); $buyerAccountBalanceAndRewardPointProcessor = new AccountBalanceAndRewardPointProcessor($this->db, $buyer); if ($product->orderStatus->order_status == 'ORDER_COMPLETED' || $product->orderStatus->order_status == 'HELD_BY_SELLER_FOR_ARBITRATION_APPROVED') { $product->orderStatus->order_status = 'BALANCE_UPDATED'; //$product->orderStatus->product_delivered_date=date('Y-m-d',mktime(0,0,0,date("m"),date("d"),date("Y"))); //$this->messenger->addMessage($product->late_delivery_confirmation_date); //$this->messenger->addMessage('shipped delivered'); if ($product->orderStatus->save()) { //update profile status tracking DatabaseObject_Helper_Admin_OrderManager::updateStatusTracking($this->db, $orderItemId, 'BALANCE_UPDATED'); //buyer reward points gets posted $buyerTrackingId = DatabaseObject_Account_UserPendingRewardPointAndBalanceTracking::loadTrackingIdByColumnId($this->db, $product->buyer_id, 'from_order_profile_id', $orderItemId); foreach ($buyerTrackingId as $k => $v) { $buyerAccountBalanceAndRewardPointProcessor->postPendingRewardPointsAndBalanceForUser($v['user_pending_reward_point_and_balance_tracking_id']); } //***seller balance gets posted $sellerTrackingId = DatabaseObject_Account_UserPendingRewardPointAndBalanceTracking::loadTrackingIdByColumnId($this->db, $product->uploader_id, 'from_order_profile_id', $orderItemId); foreach ($sellerTrackingId as $k => $v) { $sellerBalanceAccountProcessor->postPendingRewardPointsAndBalanceForUser($v['user_pending_reward_point_and_balance_tracking_id']); } //***danceRialto balance gets posted $DRtrackingId = DatabaseObject_Account_UserPendingRewardPointAndBalanceTracking::loadTrackingIdByColumnId($this->db, $danceRialto->getId(), 'from_order_profile_id', $orderItemId); foreach ($DRtrackingId as $k => $v) { $danceRialtoAccountProcessor->postPendingRewardPointsAndBalanceForUser($v['user_pending_reward_point_and_balance_tracking_id']); } echo 'complted'; } $this->adminOrders->orderProfiles->balanceUpdatedOrders[$orderItemId] = $this->adminOrders->orderProfiles->orderCompletedOrders[$orderItemId]; unset($this->adminOrders->orderProfiles->orderCompletedOrders[$orderItemId]); $this->messenger->addMessage('Balance transfered'); } else { if ($product->orderStatus->order_status == 'RETURN_COMPLETED' || $product->orderStatus->order_status == 'CANCELLED_BY_SELLER' || $product->orderStatus->order_status == 'CANCELLED_BY_BUYER' || $product->orderStatus->order_status == 'HELD_BY_SELLER_FOR_ARBITRATION_DENIED') { $product->orderStatus->order_status = 'BALANCE_REFUNDED'; $this->messenger->addMessage($product->late_return_delivery_confirmation_date); if ($product->orderStatus->save()) { //update profile status tracking DatabaseObject_Helper_Admin_OrderManager::updateStatusTracking($this->db, $orderItemId, 'BALANCE_REFUNDED'); //***Buyer balance gets posted and updated. $buyerTrackingId = $buyerAccountBalanceAndRewardPointProcessor->updatePendingRewardPointsAndBalanceForUser('BALANCE_ADDITION', $product->seller_receivable + $product->dr_receivable, 'from_order_profile_id', $product->getId(), 'Balance addition from the refund of ' . $product->product_name . ' in order Id: ' . $product->order_unique_id); $buyerAccountBalanceAndRewardPointProcessor->postPendingRewardPointsAndBalanceForUser($buyerTrackingId); //***Buyer reward points gets cancelled. $buyerTrackingIdArray = DatabaseObject_Account_UserPendingRewardPointAndBalanceTracking::loadTrackingIdByColumnId($this->db, $product->buyer_id, 'from_order_profile_id', $orderItemId); foreach ($buyerTrackingIdArray as $k => $v) { $buyerAccountBalanceAndRewardPointProcessor->cancelPendingRewardPointsAndBalanceForUser($v['user_pending_reward_point_and_balance_tracking_id']); } //***Seller balance gets cancelled. $sellerTrackingIdArray = DatabaseObject_Account_UserPendingRewardPointAndBalanceTracking::loadTrackingIdByColumnId($this->db, $product->uploader_id, 'from_order_profile_id', $orderItemId); foreach ($sellerTrackingIdArray as $k => $v) { $sellerBalanceAccountProcessor->cancelPendingRewardPointsAndBalanceForUser($v['user_pending_reward_point_and_balance_tracking_id']); } //***danceRialto balance gets Cancelled $DRtrackingIdArray = DatabaseObject_Account_UserPendingRewardPointAndBalanceTracking::loadTrackingIdByColumnId($this->db, $danceRialto->getId(), 'from_order_profile_id', $orderItemId); foreach ($DRtrackingIdArray as $k => $v) { $danceRialtoAccountProcessor->cancelPendingRewardPointsAndBalanceForUser($v['user_pending_reward_point_and_balance_tracking_id']); } echo 'return complted'; } $this->messenger->addMessage('Balance refunded'); $this->adminOrders->orderProfiles->balanceRefundedOrders[$orderItemId] = $this->adminOrders->orderProfiles->returnCompletedOrders[$orderItemId]; unset($this->adminOrders->orderProfiles->returnCompletedOrders[$orderItemId]); } } //$this->_redirect($_SERVER['HTTP_REFERER']); //verifying the cart completion $cartCompletion = $buyerAccountBalanceAndRewardPointProcessor->checkCartCompletion($product->order_unique_id); if ($cartCompletion['processed'] == true) { echo 'here'; $buyerCartPendingTrackingIdArray = DatabaseObject_Account_UserPendingRewardPointAndBalanceTracking::loadTrackingIdByColumnId($this->db, $product->buyer_id, 'from_order_id', $product->order_unique_id); if (count($buyerCartPendingTrackingIdArray) > 0) { Zend_Debug::dump($buyerCartPendingTrackingIdArray); if ($cartCompletion['allCancelled'] == true) { echo 'cancel the cart pending info<br />'; $buyerAccountBalanceAndRewardPointProcessor->cancelPendingRewardPointsAndBalanceForUser($buyerCartPendingTrackingIdArray[0]['user_pending_reward_point_and_balance_tracking_id']); } elseif ($cartCompletion['allCancelled'] == false) { echo 'post the cart pending info<br />'; $buyerAccountBalanceAndRewardPointProcessor->postPendingRewardPointsAndBalanceForUser($buyerCartPendingTrackingIdArray[0]['user_pending_reward_point_and_balance_tracking_id']); } } } } else { $this->messenger->addMessage('not even loaded'); } $this->_redirect($_SERVER['HTTP_REFERER']); }