/**
  * @param \System\Model\Controller $item
  * @return true|false
  */
 public function save($item)
 {
     $data = array('moduleId' => $item->getModuleId(), 'name' => $item->getName(), 'description' => $item->getDescription() ?: null, 'status' => $item->getStatus(), 'createdById' => $item->getCreatedById(), 'createdDateTime' => $item->getCreatedDateTime(), 'updatedDateTime' => $item->getUpdatedDateTime() ?: null);
     $results = false;
     $dbAdapter = $this->getDbAdapter();
     if (null === ($id = $item->getId())) {
         $insert = $this->getDbSql()->insert(self::TABLE_NAME);
         $insert->values($data);
         $query = $this->getDbSql()->buildSqlString($insert);
         $results = $dbAdapter->query($query, $dbAdapter::QUERY_MODE_EXECUTE);
         $item->setId($dbAdapter->getDriver()->getLastGeneratedValue());
     } else {
         $update = $this->getDbSql()->update(self::TABLE_NAME);
         $update->set($data);
         $update->where(array("id" => (int) $item->getId()));
         $selectString = $this->getDbSql()->buildSqlString($update);
         $results = $dbAdapter->query($selectString, $dbAdapter::QUERY_MODE_EXECUTE);
     }
     return $results;
 }