/**
  * @param Zend_Db_Table_Rowset $row
  * @param Catalog_Model_ProductParams $entry
  * @return Catalog_Model_ProductParams
  */
 public function _setDbData($row, Catalog_Model_ProductParams $entry)
 {
     $info = $this->getDbTable()->info();
     $properties = $info['cols'];
     foreach ($properties as $property) {
         $entry->__set($this->_normaliseName($property), $row->{$property});
     }
     return $entry;
 }
 public function propertyEditAction()
 {
     //Zend_Debug::dump($this->_request->getParams());
     $properties = $this->_request->getParam('properties');
     if ($properties && !empty($properties)) {
         foreach ($properties as $property) {
             if ($property['id'] != 'new') {
                 $productParams = $this->_paramsMapper->find($property['id'], new Catalog_Model_ProductParams());
                 if ($productParams) {
                     $productParams->setOptions($property);
                     $this->_paramsMapper->save($productParams);
                 }
             } else {
                 $productParams = new Catalog_Model_ProductParams();
                 $productParamsOrder = $property['order'] && $property['order'] != '' ? $property['order'] : 0;
                 $productParams->setName($property['name'])->setOrder($productParamsOrder)->setProductId($property['productId'])->setValue($property['value']);
                 $this->_paramsMapper->save($productParams);
                 $id = $this->_paramsMapper->getDbTable()->getAdapter()->lastInsertId();
                 $productParams->setId($id);
             }
         }
     }
     $deletedProperies = $this->_request->getParam('deleted');
     if ($deletedProperies && !empty($deletedProperies)) {
         foreach ($deletedProperies as $deletedPropery) {
             $id = $deletedPropery['id'];
             $this->_paramsMapper->delete($id);
         }
     }
     $this->_helper->json->sendJson($properties);
 }