public function operationstatechangeajaxAction()
 {
     try {
         $mapper = new Gyuser_Model_OperationsDataMapper();
         $obj = new Gyuser_Model_Operations();
         $request = $this->getRequest();
         if ($this->getRequest()->isPost()) {
             $this->_helper->layout->disableLayout();
             $this->_helper->viewRenderer->setNoRender();
             $operationId = $request->operation_id;
             $stateId = (int) $request->state_id;
             $obj->setId($operationId);
             $obj->setState($stateId);
             $chequesList = null;
             $chequeId = null;
             switch ($stateId) {
                 //step2
                 case 2:
                     $obj->setCave_id($request->cave_id);
                     break;
                     //step3
                 //step3
                 case 3:
                     //report approved
                 //report approved
                 case 4:
                     //report denied
                     $obj->setReport($request->report);
                     break;
                     //step 4
                 //step 4
                 case 5:
                     $chequesList = $request->cheques_list;
                     $obj->setAmount($request->total_amount);
                     $obj->setPlan_id($request->plan_id);
                     $obj->setInterests_id($request->interests_id);
                     break;
                 case 8:
                 case 9:
                     $chequeId = $request->id;
                     $chequesList = $request->cheques_list;
                     $obj->setAmount($request->total_amount);
                     $obj->setPlan_id($request->plan_id);
                     break;
                     //step 5
                 //step 5
                 case 6:
                     //en camino
                 //en camino
                 case 7:
                     //en camino lavalle
                 //en camino lavalle
                 case 99:
                     //cancel op.
                 //cancel op.
                 default:
                     break;
             }
             $result = $mapper->OperationStateChange($obj, $chequesList, $chequeId);
             if ($result) {
                 echo $result;
             } else {
                 echo "f";
             }
         }
     } catch (Exception $e) {
         echo $e;
     }
 }
 public function GetOperationsByProviderId($provider_id)
 {
     $table = $this->getDbTable();
     $select = $table->select();
     $select->setIntegrityCheck(false);
     $select->from(array('opr' => 'operations'), array('id', 'client_id', 'date', 'amount', 'observations', 'report', 'date_added', 'state_order_id', 'cave_id'));
     $select->joinLeft(array('prov' => 'providers'), 'opr.cave_id = prov.id', array('name as cave_name', 'comision_rate'));
     $select->joinLeft(array('cls' => 'clients'), 'opr.client_id = cls.id', array('first_name', 'last_name'));
     $select->where('opr.cave_id = ?', $provider_id);
     $select->where('opr.liquidacion_id IS  NULL');
     //NOTE! gus also wants to show the operations with state "En Lavalle".
     $select->where('opr.state_order_id = 8 OR opr.state_order_id = 9 OR opr.state_order_id = 10 OR opr.state_order_id = 11');
     $select->order('opr.id ASC');
     $resultSet = $table->fetchAll($select);
     $entries = array();
     foreach ($resultSet as $row) {
         $entry = new Gyuser_Model_Operations();
         $entry->setId($row->id);
         $entry->setClient_id($row->client_id);
         $entry->setDate(date("d/m/Y", strtotime($row->date)));
         $entry->setAmount($row->amount);
         $entry->setState($row->state_order_id);
         $entry->setObservations($row->observations);
         $entry->setReport($row->report);
         $entry->setProv_name($row->cave_name);
         $entry->setProv_commission_rate($row->comision_rate);
         $pMapper = new Gyuser_Model_ProvidersDataMapper();
         $commissionAmt = $pMapper->calculateComisionAmt($row->amount, $row->comision_rate);
         $entry->setProv_commission_amt($commissionAmt);
         $provPayment = $pMapper->calculateProvPayment($row->amount, $commissionAmt);
         $entry->setProv_payment($provPayment);
         /*
                     $provider_obj = new Gyuser_Model_Providers();
                     $provider_obj->setName($row->cave_name);
                     $provider_obj->setComisionRate($row->comision_rate);            
                     $pMapper = new Gyuser_Model_ProvidersDataMapper();
                     $comisionAmt = $pMapper->calculateComisionAmt($row->amount, $row->comision_rate);
                     $provPayment = $pMapper->calculateProvPayment($row->amount, $comisionAmt);
                     $provider_obj->setComisionAmt($comisionAmt);
                     $provider_obj->setProvPayment($provPayment);
                     $entry->setProvider_obj($provider_obj);
         * 
         */
         $clientObj = new Gyuser_Model_User();
         $clientObj->setFirst_name($row->first_name);
         $clientObj->setLast_name($row->last_name);
         $entry->setUser_obj($clientObj);
         $entries[] = $entry;
     }
     return $entries;
 }