Example #1
0
 public function getBetSlipData()
 {
     $userId = $this->getUserId();
     if (!isset($userId)) {
         return;
     }
     $model = new Model_BetSlipModel();
     $model->getBetSlipOdds();
     $model->addQuery('where', array('where_condition' => 'bp.bet_slip_id=' . (int) $this->getBetSlipId()));
     $model->addQuery('where', array('where_condition' => 'bp.user_id_FK=' . $userId));
     return $model->executeQuery('fetchAssoc');
 }
Example #2
0
 public function update($forceUpdateFlag = false)
 {
     $checkIfModelIsUpdatebale = new Model_EventBetsModel();
     $checkIfModelIsUpdatebale->load($this->getEventBetsId());
     if ($checkIfModelIsUpdatebale->getCorrectType() != null) {
         return $this->setValidationError('update', 'Correct Type is set, Event can be updated anymore');
     }
     parent::update($forceUpdateFlag);
     $this->load($this->getEventBetsId());
     if ($this->getCorrectType() != null) {
         $betTypesModel = new Model_BetsTypeModel();
         $betTypesModel->load(array('event_bets_id_FK' => $this->getEventBetsId(), 'event_types_value_id_FK' => $this->getCorrectType()));
         $betTypesModel->addQuery('select', array('table' => $betTypesModel->getTableName()));
         $betTypesModel->addQuery('where', array('where_condition' => 'event_bets_id_FK=' . $this->getEventBetsId()));
         $betTypesModelCollection = new Core_Model_Adapter_ModelCollection();
         $betTypesModelCollection->getModelCollection($betTypesModel);
         $betTypesKeys = $betTypesModelCollection->getKeysArray('bet_types_id');
         $odds = new Model_OddValueModel();
         $odds->addQuery('update', array('table' => $odds->getTableName(), 'columns' => 'is_correct=0'));
         $odds->addQuery('where', array('where_condition' => 'bet_types_id_FK in (' . implode(',', $betTypesKeys) . ')'));
         $odds->executeQuery();
         $odds->load(array('bet_types_id_FK' => $betTypesModel->getBetTypesId()));
         $odds->setIsCorrect(1);
         $odds->update();
         $odds->addQuery('select', array('table' => $odds->getTableName()));
         $odds->addQuery('where', array('where_condition' => 'bet_types_id_FK in (' . implode(',', $betTypesKeys) . ')'));
         $oddsValuesCollection = new Core_Model_Adapter_ModelCollection();
         $oddsValuesCollection->getModelCollection($odds);
         $oddValuesKeys = $oddsValuesCollection->getKeysArray('odd_value_id');
         $betSlip = new Model_BetSlipModel();
         $betSlip->addQuery('update', array('table' => $betSlip->getTableName(), 'columns' => 'finished = finished+1'));
         $betSlip->addQuery('where', array('where_condition' => 'bet_slip_id in (select bet_slip_id_FK from bet_slip_odds where odd_value_id_FK in  (' . implode(',', $oddValuesKeys) . '))'));
         $betSlip->executeQuery();
         $betSlip->setStatusOne();
         $betSlip->proccessBetSlips();
         $betSlip->setStatusTwo();
     }
 }
Example #3
0
 public function setData($data)
 {
     if (isset($data['stake'])) {
         $this->setStake((double) $data['stake']);
     }
     if (isset($data['odds'])) {
         $this->setOdds($data['odds']);
     }
     parent::setData($data);
 }
Example #4
0
 private function setUserBetsTable()
 {
     $user = new Core_Auth_User();
     $role = $user->getRole();
     $userId = $this->getUserId();
     if ($role == 'admin' || $role == 'superadmin') {
         $bets = new Extension_View_Yui35_DataTableEdit();
         $bets->isAddButtonEnabled(false);
         $bets->isEditEnabled(false);
     } else {
         $bets = new Extension_View_Yui35_DataTablePF();
         if ($userId === null) {
             return;
         }
     }
     $table = $bets->getTable();
     $model = new Model_BetSlipModel();
     $model->getBetSlipsTransaction();
     if ($userId !== null) {
         $model->addQuery('where', array('where_condition' => 'bs.user_id_FK=' . (int) $userId));
     }
     $model->addQuery('order', array('order' => implode($model->getPrimaryKeys(), ",") . ' DESC'));
     $model->addQuery('limit', array('limit' => 20));
     $bets->setModel($model);
     $url = Application::getRouter()->getFullUrl(array('controller' => 'servicehtml', 'action' => 'view'));
     $table->addColumn(array('key' => 'bet_slip_id', 'label' => 'ID'));
     $table->addColumn(array('key' => 'date_created', 'label' => 'Played'));
     $table->addColumn('{key:status,label: "Status",allowHTML:true,formatter:function(o){if(o.data.status==2){return "Finished"} else {return "In Play"}}}', false, 'transaction_type_id_FK');
     $table->addColumn('{key:"bet_slip_id",label: "Details",allowHTML:true,formatter:"<a class=\'systemSubServiceLinkBets\' servicehtml=\'' . $url . '&view=View_Frontend_UserBetSlip&bet_slip_id={value}\' href=\'javascript:void(0)\' >View</a>"}', false, 'bet_slip_id_view');
     $table->addColumn(array('key' => 'money', 'label' => 'Money'));
     $status = new Extension_View_Html_Form_Elements_Select();
     $status->setModel(array(array('label' => 'Finished', 'value' => '2'), array('label' => 'In play', 'value' => '0')));
     $status->setOptionLabelKey('label');
     $status->setOptionValueKey('value');
     $status->setAttributes(array('name' => 'status', 'type' => 'text'));
     $status->setPrependHtml('Status: ');
     $bets->addFilter($status);
     $filterCalendar = new Extension_View_Html_Form_Elements_Calendar();
     $filterCalendar->setPrependHtml('<br />Date from:');
     $filterCalendar->setAttribute('name', 'date_created');
     $bets->addFilter($filterCalendar, array('group' => 'added', 'operator' => 'and', 'comparison' => '>'));
     $filterCalendar = new Extension_View_Html_Form_Elements_Calendar();
     $filterCalendar->setPrependHtml('Date to:');
     $filterCalendar->setAttribute('name', 'date_created');
     $bets->addFilter($filterCalendar, array('group' => 'added', 'operator' => 'and', 'comparison' => '<'));
     $filterMoney = new Extension_View_Html_Form_Elements_Input();
     $filterMoney->setPrependHtml('<br />Money from:');
     $filterMoney->setAttribute('name', 'money');
     $bets->addFilter($filterMoney, array('group' => 'money', 'operator' => 'and', 'comparison' => '>'));
     $filterMoney = new Extension_View_Html_Form_Elements_Input();
     $filterMoney->setPrependHtml('Money to:');
     $filterMoney->setAppendHtml('</br>');
     $filterMoney->setAttribute('name', 'money');
     $bets->addFilter($filterMoney, array('group' => 'money', 'operator' => 'and', 'comparison' => '<'));
     if ($role == 'admin' || $role == 'superadmin') {
         $userIdFiterId = new Extension_View_Html_Form_Elements_Input();
         $userIdFiterId->setAttributes(array('type' => 'hidden', 'name' => 'bs.user_id_FK', 'value' => $userId, 'class' => 'filterInput'));
         $bets->addFilter($userIdFiterId);
         $method = new Extension_View_Html_Form_Elements_Input();
         $method->setAttributes(array('type' => 'hidden', 'name' => 'method', 'value' => 'getBetSlipsTransaction', 'class' => 'filterInput'));
         $bets->addAdditionalFilterElement($method);
     } else {
         $method = new Extension_View_Html_Form_Elements_Input();
         $method->setAttributes(array('type' => 'hidden', 'name' => 'method', 'value' => 'getBetSlipsTransactionByUser', 'class' => 'filterInput'));
         $bets->addAdditionalFilterElement($method);
     }
     $this->userBetsTable = $bets;
 }