PageRenderTime 46ms CodeModel.GetById 21ms RepoModel.GetById 0ms app.codeStats 0ms

/library/Model/UserBuying.php

https://bitbucket.org/menvil/test
PHP | 311 lines | 235 code | 68 blank | 8 comment | 8 complexity | 836a9946ecf059eb6d54131e8d3909ce MD5 | raw file
  1. <?php
  2. /**
  3. * Created by JetBrains PhpStorm.
  4. * User: menvil
  5. * Date: 9/11/12
  6. * Time: 11:31 PM
  7. * To change this template use File | Settings | File Templates.
  8. */
  9. class UserBuying
  10. {
  11. private $userb = null;
  12. private $tbl = 'UsersBuying';
  13. public function __construct(){
  14. $this->userb = new UsersBuying();
  15. return $this->userb;
  16. }
  17. public function add($auctionId=NULL,$productId=NULL, $status='Pending',$transactionId=NULL, $userId=NULL,$winner=0, $cv2 = null, $ip=NULL){
  18. $this->userb->setAuctionId($auctionId)
  19. ->setProductId($productId)
  20. ->setUsersPaymentsTransactionId($transactionId)
  21. ->setUserId($userId)
  22. ->setStatus($status)
  23. ->setStatusDate(date('Y-m-d h:i:s'))
  24. ->setTrackingNumber($cv2)
  25. ->setTrackingStatus(NULL)
  26. ->setWinner($winner)
  27. ->setIpAddress($ip)
  28. ->save();
  29. return $this->userb->getId();
  30. }
  31. public function buyItNowPaid($id, $transactionId, $userId= NULL, $shippingId, $ip = NULL)
  32. {
  33. // Example of using Doctrine_Query
  34. try{
  35. $q = Doctrine_Query::create()
  36. ->update($this->tbl)
  37. ->set('status','?','Pending')
  38. ->set('users_payments_transaction_id',$transactionId)
  39. ->set('status_date','?',date('Y-m-d h:i:s'))
  40. ->set('user_id','?',($userId === NULL?new Doctrine_Null():$userId))
  41. ->set('shipping_id',$shippingId)
  42. ->set('ip_address','?',($ip === NULL?new Doctrine_Null():$ip))
  43. ->where('id=?',(int)$id)->execute();
  44. return true;
  45. }catch (Exception $e){
  46. print_r($e->getMessage());
  47. return false;
  48. }
  49. }
  50. public function membershipPerkPaid($id, $transactionId, $userId = NULL, $ip = NULL)
  51. {
  52. $record = Doctrine::getTable($this->tbl)->find((int)$id);
  53. if($record === NULL)
  54. return false;
  55. try{
  56. $record->setUserId($userId)
  57. ->setIpAddress($ip)
  58. ->setStatus('Membership Paid')
  59. ->setStatusDate(date('Y-m-d h:i:s'))
  60. ->setUsersPaymentsTransactionId($transactionId)
  61. ->save();
  62. }
  63. catch (Exception $e){
  64. print_r($e->getMessage());
  65. var_dump(debug_backtrace());
  66. return false;
  67. }
  68. return true;
  69. }
  70. public function getTrackingsUpdate()
  71. {
  72. try{
  73. return Doctrine::getTable($this->tbl)->createQuery('b')
  74. ->addSelect('b.id, b.tracking_number')
  75. ->addWhere('b.tracking_number IS NOT NULL')
  76. ->addWhere('b.tracking_status IS NOT NULL')
  77. ->addWhere('b.tracking_status !=?','Canceled')
  78. ->addWhere('b.shipping_number IS NOT NULL')
  79. ->addWhere('b.status !=?','Canceled')
  80. ->orderBy('b.id ASC')
  81. ->limit(100)
  82. ->fetchArray();
  83. }
  84. catch (Exception $e){
  85. print_r($e->getMessage());
  86. var_dump(debug_backtrace());
  87. return false;
  88. }
  89. }
  90. public function addTracking($id, $tracking)
  91. {
  92. $record = Doctrine::getTable($this->tbl)->find((int)$id);
  93. if($record === NULL)
  94. return false;
  95. try{
  96. $record->setTrackingNumber($tracking)
  97. ->setStatus('Processed')
  98. ->setStatusDate(date('Y-m-d h:i:s'))
  99. ->save();
  100. }
  101. catch (Exception $e){
  102. print_r($e->getMessage());
  103. var_dump(debug_backtrace());
  104. return false;
  105. }
  106. return true;
  107. }
  108. public function updateTrackingStatus($id, $status, $number=NULL)
  109. {
  110. $record = Doctrine::getTable($this->tbl)->find((int)$id);
  111. if($record === NULL)
  112. return false;
  113. try{
  114. $record->setTrackingStatus($status)
  115. ->setTrackingNumber($number)
  116. ->save();
  117. }
  118. catch (Exception $e){
  119. print_r($e->getMessage());
  120. var_dump(debug_backtrace());
  121. return false;
  122. }
  123. return true;
  124. }
  125. public function updateStatus($id, $status)
  126. {
  127. $record = Doctrine::getTable($this->tbl)->find((int)$id);
  128. if($record === NULL)
  129. return false;
  130. if(!in_array($status,Doctrine::getTable($this->tbl)->getEnumValues('status')))
  131. return false;
  132. try{
  133. $record->setStatus($status)
  134. ->setStatusDate(date('Y-m-d H:i:s'))
  135. ->save();
  136. }
  137. catch (Exception $e){
  138. print_r($e->getMessage());
  139. var_dump(debug_backtrace());
  140. return false;
  141. }
  142. return true;
  143. }
  144. public function getReadyDeals($userId)
  145. {
  146. try{
  147. return Doctrine::getTable($this->tbl)->createQuery('b')
  148. ->addWhere('b.user_id=?',(int)$userId)
  149. ->addWhere('b.status = ?','Paid')->count();
  150. }catch (Exception $e){
  151. print_r($e->getMessage());
  152. var_dump(debug_backtrace());
  153. return false;
  154. }
  155. }
  156. public function getUserPendingOrders($dealId, $userId)
  157. {
  158. try{
  159. return Doctrine::getTable($this->tbl)->createQuery('b')
  160. ->addSelect('id')
  161. ->addWhere('auction_id=?',(int)$dealId)
  162. ->addWhere('user_id = ?',(int)$userId)
  163. ->addWhere('status = ?','Pending')
  164. ->addWhere('winner = 0')->fetchOne();
  165. }catch (Exception $e){
  166. print_r($e->getMessage());
  167. var_dump(debug_backtrace());
  168. return false;
  169. }
  170. }
  171. public function getUserPendingGrabs($dealId, $userId)
  172. {
  173. try{
  174. return Doctrine::getTable($this->tbl)->createQuery('b')
  175. ->addSelect('id')
  176. ->addWhere('auction_id=?',(int)$dealId)
  177. ->addWhere('user_id = ?',(int)$userId)
  178. ->addWhere('status IN ("Pending","Perk""Membership Perk")')
  179. ->addWhere('winner = 1')->fetchOne();
  180. }catch (Exception $e){
  181. print_r($e->getMessage());
  182. var_dump(debug_backtrace());
  183. return false;
  184. }
  185. }
  186. public function getMembershipPerk($userId)
  187. {
  188. try{
  189. return Doctrine::getTable($this->tbl)->createQuery('b')
  190. ->addSelect('id')
  191. ->addWhere('user_id = ?',(int)$userId)
  192. ->addWhere('status = ?','Membership Perk')
  193. ->fetchOne();
  194. }catch (Exception $e){
  195. print_r($e->getMessage());
  196. var_dump(debug_backtrace());
  197. return false;
  198. }
  199. }
  200. public function setPerksAsApplied($dealId, $ip=NULL)
  201. {
  202. $record = Doctrine::getTable($this->tbl)->createQuery('b')->where('auction_id=? ',(int)$dealId)->fetchOne();
  203. if($record === NULL)
  204. return false;
  205. try{
  206. $record->setStatus('Perk Applied')
  207. ->setIpAddress($ip)->save();
  208. }catch (Exception $e){
  209. print_r($e->getMessage());
  210. var_dump(debug_backtrace());
  211. return false;
  212. }
  213. return true;
  214. }
  215. public function setCustomerPo($id, $customerPo)
  216. {
  217. $record = Doctrine::getTable($this->tbl)->find((int)$id);
  218. if($record === NULL)
  219. return false;
  220. try{
  221. $record->setCustomerPo($customerPo)->save();
  222. }catch (Exception $e){
  223. print_r($e->getMessage());
  224. var_dump(debug_backtrace());
  225. return false;
  226. }
  227. return true;
  228. }
  229. public function setBranchOrder($id, $branchOrder)
  230. {
  231. $record = Doctrine::getTable($this->tbl)->find((int)$id);
  232. if($record === NULL)
  233. return false;
  234. try{
  235. $record->setBranchOrder($branchOrder)->save();
  236. }catch (Exception $e){
  237. print_r($e->getMessage());
  238. var_dump(debug_backtrace());
  239. return false;
  240. }
  241. return true;
  242. }
  243. }