toArray(BasePeer::TYPE_FIELDNAME); if ($fields['DAS_INS_ADDITIONAL_PROPERTIES'] != '') { $fields = array_merge($fields, unserialize($fields['DAS_INS_ADDITIONAL_PROPERTIES'])); } return $fields; } catch (Exception $error) { throw $error; } } public function createOrUpdate($data) { $additionalFields = array(); foreach ($data as $field => $value) { if (!in_array($field, $this->filterThisFields)) { $additionalFields[$field] = $value; unset($data[$field]); } } if (!empty($additionalFields)) { $data['DAS_INS_ADDITIONAL_PROPERTIES'] = serialize($additionalFields); } else { $data['DAS_INS_ADDITIONAL_PROPERTIES'] = ''; } $connection = Propel::getConnection(DashletInstancePeer::DATABASE_NAME); try { if (!isset($data['DAS_INS_UID'])) { $data['DAS_INS_UID'] = ''; } if ($data['DAS_INS_UID'] == '') { $data['DAS_INS_UID'] = G::generateUniqueID(); $data['DAS_INS_CREATE_DATE'] = date('Y-m-d H:i:s'); $dashletInstance = new DashletInstance(); } else { $dashletInstance = DashletInstancePeer::retrieveByPK($data['DAS_INS_UID']); } $data['DAS_INS_UPDATE_DATE'] = date('Y-m-d H:i:s'); $dashletInstance->fromArray($data, BasePeer::TYPE_FIELDNAME); if ($dashletInstance->validate()) { $connection->begin(); $result = $dashletInstance->save(); $connection->commit(); return $data['DAS_INS_UID']; } else { $message = ''; $validationFailures = $dashletInstance->getValidationFailures(); foreach($validationFailures as $validationFailure) { $message .= $validationFailure->getMessage() . '. '; } throw(new Exception('Error trying to update: ' . $message)); } } catch (Exception $error) { $connection->rollback(); throw $error; } } public function remove($dasInsUid) { $connection = Propel::getConnection(DashletInstancePeer::DATABASE_NAME); try { $dashletInstance = DashletInstancePeer::retrieveByPK($dasInsUid); if (!is_null($dashletInstance)) { $connection->begin(); $result = $dashletInstance->delete(); $connection->commit(); return $result; } else { throw new Exception('Error trying to delete: The row "' . $dasInsUid. '" does not exist.'); } } catch (Exception $error) { $connection->rollback(); throw $error; } } } // DashletInstance