Example #1
0
 /**
  *
  * @param \Accounting\Model\Transaction\Item $item
  */
 public function save($item)
 {
     $data = array('transactionId' => $item->getTransactionId(), 'date' => $item->getDate(), 'amount' => $item->getAmount(), 'debitAccountId' => $item->getDebitAccountId() ?: null, 'creditAccountId' => $item->getCreditAccountId() ?: null, 'itemType' => $item->getItemType() ?: null, 'itemId' => $item->getItemId() ?: null, 'description' => $item->getDescription() ?: null, 'status' => $item->getStatus());
     /* @var $dbAdapter \Zend\Db\Adapter\Adapter */
     $dbAdapter = $this->getServiceLocator()->get('dbAdapter');
     /* @var $dbSql \Zend\Db\Sql\Sql */
     $dbSql = $this->getServiceLocator()->get('dbSql');
     if (!$item->getId()) {
         $insert = $this->getDbSql()->insert(self::TABLE_NAME);
         $insert->values($data);
         $query = $dbSql->buildSqlString($insert);
         /* @var $results \Zend\Db\Adapter\Driver\Pdo\Result */
         $results = $dbAdapter->query($query, $dbAdapter::QUERY_MODE_EXECUTE);
         $item->setId($results->getGeneratedValue());
     } else {
         $update = $this->getDbSql()->update(self::TABLE_NAME);
         $update->set($data);
         $update->where(['id' => (int) $item->getId()]);
         $query = $dbSql->buildSqlString($update);
         $results = $dbAdapter->query($query, $dbAdapter::QUERY_MODE_EXECUTE);
     }
     return $results;
 }