public function modificationPropertyEditAction()
 {
     //Zend_Debug::dump($this->_request->getParams());
     $modificationPropertyData = $this->_request->getParam('modificationPropertyData');
     $subproductProperties = $modificationPropertyData['columns'];
     if ($subproductProperties) {
         foreach ($subproductProperties as $subproductProperty) {
             $propertyId = $subproductProperty['id'];
             if ($propertyId != 'new') {
                 $subproductParams = $this->_subproductsParamsMapper->find($propertyId, new Catalog_Model_SubproductParams());
                 if ($subproductParams) {
                     $subproductParams->setOptions($subproductProperty);
                     $this->_subproductsParamsMapper->save($subproductParams);
                 }
             } else {
                 $subproductParams = $this->newSubproductProperty($subproductProperty);
                 $modificationPropertyData['newProperty'][] = $subproductParams->getOptions();
             }
         }
     }
     $deletedSubproductProperties = $modificationPropertyData['deleted'];
     if ($deletedSubproductProperties && !empty($deletedSubproductProperties)) {
         foreach ($deletedSubproductProperties as $deletedSubproductProperty) {
             $propertyId = $deletedSubproductProperty['id'];
             if ($propertyId != 'new') {
                 $this->_subproductsParamsMapper->delete($propertyId);
                 $subproductParamsValues = $this->_subproductParamsValuesMapper->fetchAll($this->_subproductParamsValuesMapper->getDbTable()->select()->where('param_id = ?', $propertyId));
                 if (!empty($subproductParamsValues)) {
                     $this->_subproductParamsValuesMapper->getDbTable()->delete(array('param_id = ?' => $propertyId));
                 }
             }
         }
     }
     return $this->_helper->json->sendJson($modificationPropertyData);
 }