Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision c9f21778

Von Christian Ehringfeld vor mehr als 8 Jahren hinzugefügt

  • ID c9f217782e289331ba37da5aa32043f4a00e31f7
  • Vorgänger 9e44a59b
  • Nachfolger 12a65aab

fixes

Unterschiede anzeigen:

src/entitymanager.cpp
}
bool EntityManager::merge(QSharedPointer<Entity> &entity, bool withRelations) {
if (entity->getId() > -1 && this->count(entity) == 1) {
if (entity->getId() > -1) {
if (withRelations) {
this->savePrePersistedRelations(entity);
}
......
bool EntityManager::save(QSharedPointer<Entity> &entity,
const bool persistRelations) {
if (entity->getProperty(entity->getPrimaryKey()) > -1) {
if (entity->getProperty(entity->getPrimaryKey()).toLongLong() > -1) {
return this->merge(entity, persistRelations);
} else {
return this->create(entity, persistRelations);
......
QSharedPointer<Entity> EntityManager::convert(const QHash<QString, QVariant>
&map,
const char *classname, const bool refresh) {
const char *classname, const bool refresh, const bool resolveRelations) {
auto ptr = QSharedPointer<Entity>(EntityInstanceFactory::createInstance(
classname, map));
this->cache.insert(ptr);
this->resolveRelations(ptr, map, refresh);
if (resolveRelations) {
this->resolveRelations(ptr, map, refresh);
}
return ptr;
}
QList<QSharedPointer<Entity> > EntityManager::convert(
QList<QHash<QString, QVariant> > maps,
const char *classname, const bool refresh) {
const char *classname, const bool refresh, const bool resolveRelations) {
auto list = QList<QSharedPointer<Entity> >();
for (int var = 0; var < maps.size(); ++var) {
auto ptr = this->convert(maps.at(var), classname, refresh);
auto ptr = this->convert(maps.at(var), classname, refresh, resolveRelations);
list.append(ptr);
this->cache.insert(ptr);
}

Auch abrufbar als: Unified diff