Example #1
0
 function find($criteria = null, $order = null, $limit = 1000, $from = 0)
 {
     $result = $this->database->query($this->buildFindQuery($criteria, $order, $limit, $from));
     if (!is_null($result->getError())) {
         return $result->getError();
     }
     $events = array();
     while ($row = $result->fetchRow()) {
         $event = new Event();
         $value = $row[0];
         $event->setId($value);
         $value = $row[1];
         $event->setPid($value);
         $value = $row[2];
         $event->setCid($value);
         $value = $row[3];
         $event->setSid($value);
         $value = $row[4];
         $event->setValid_date($value);
         $value = $row[5];
         $event->setReminde_date($value);
         $value = $row[6];
         $event->setAmount($value);
         $value = $row[7];
         $event->setState($value);
         $value = $row[8];
         $event->setMoved($value);
         $value = $row[9];
         $value = $this->database->toBoolean($value);
         $event->setDelay($value);
         $value = $row[10];
         $event->setDelays($value);
         $value = $row[11];
         $event->setComment($value);
         $value = $row[12];
         $event->setIncome($value);
         $value = $row[13];
         $event->setCost($value);
         $value = $row[14];
         $event->setProfit($value);
         $value = $row[15];
         $event->setWasted_time($value);
         $value = $row[16];
         $event->setR_date($value);
         $value = $row[17];
         $event->setDate($value);
         if ($order != null) {
             array_push($events, $event);
         } else {
             $events[$event->getId()] = $event;
         }
     }
     return $events;
 }
Example #2
0
 /**
  * Install a consumable to a printer
  */
 public function installTo($printer)
 {
     global $db;
     #printf('Installing consumable %s to printer %s.', $this->getName(), $printer->getName());
     #fCore::dump($printer);
     // Validation checks
     // 1. Check printer model is compatible
     $models = $this->getModels();
     if (!in_array($printer->getModelId(), $models)) {
         $this->err = sprintf('Consumable %s not compatible with printer %s.', $this->getName(), $printer->getName());
         return FALSE;
     }
     // 2. Check quantity
     if ($this->getQty() < 1) {
         $this->err = sprintf('No stock of the consumable %s.', $this->getName());
         return FALSE;
     }
     // Finished validation
     // Add 'event'
     try {
         $e = new Event();
         $e->setPrinterId($printer->getId());
         $e->setConsumableId($this->getId());
         $e->setDate(date('Y-m-d H:i:s'));
         $e->setCost($this->getCost());
         $e->store();
     } catch (fExpectedException $e) {
         #fMessaging::create('error', fURL::get(), $e->getMessage());
         $this->err = $e->getMessage();
         return FALSE;
     } catch (fSQLException $e) {
         #fMessaging::create('error', fURL::get(), 'Database error: ' . $e->getMessage());
         $this->err = $e->getMessage();
         return FALSE;
     }
     // Decrease stock
     try {
         $sql = 'UPDATE consumables SET qty = qty - 1 WHERE id = %i LIMIT 1';
         $query = $db->execute($sql, $this->getId());
     } catch (fSQLException $e) {
         $this->err = $e->getMessage();
         return FALSE;
     }
     // Return true
     #echo 'Done!';
     return TRUE;
 }