Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision f4e3904b

Von Christian Ehringfeld vor etwa 9 Jahren hinzugefügt

  • ID f4e3904b4ac79d50a697c7e246911c6d1e61b2e6
  • Vorgänger 03fe3afa
  • Nachfolger 1e213c09

could(!) work, relation loading still not implemented

Unterschiede anzeigen:

src/entitymanager.cpp
#include "entitymanager.h"
#include "enums/databasetype.h"
#include "entityinstancefactory.h"
using namespace CuteEntityManager;
/**
* Relationen fehlen noch
* Fehlermeldungen erstellen am besten eine Exception Klasse diesbzgl. erstellen
*/
QStringList EntityManager::connectionNames = QStringList();
......
EntityManager::connectionNames.removeOne(name);
}
QList<QSharedPointer<Entity> > EntityManager::findAllEntities(QSharedPointer<Entity> entity) {
QList<QSharedPointer<Entity>> EntityManager::findAllEntities(QSharedPointer<Entity> entity) {
auto maps = this->findAll(entity.data()->getTablename());
return this->convert(maps, entity.data()->getClassname());
}
QSharedPointer<Entity> EntityManager::convert(const QHash<QString, QVariant> &map, const char *classname) {
return QSharedPointer<Entity>(EntityInstanceFactory::createInstance(classname, map));
}
QList<QSharedPointer<Entity> > EntityManager::convert(QList<QHash<QString, QVariant> > maps, const char *classname) {
auto list = QList<QSharedPointer<Entity> >();
for (int var = 0; var < maps.size(); ++var) {
list.append(this->convert(maps.at(var), classname));
}
return list;
}
QSharedPointer<Entity> EntityManager::findEntity(QSharedPointer<Entity> entity) {
QSharedPointer<Entity> EntityManager::findEntity(QSharedPointer<Entity> entity) {
auto map = this->find(entity);
return this->convert(map, entity.data()->getClassname());
}
QList<QSharedPointer<Entity> > EntityManager::findEntityByAttributes(const QSharedPointer<Entity> &entity,
bool ignoreID) {
auto maps = this->findByAttributes(entity, ignoreID);
return this->convert(maps, entity.data()->getClassname());
}
/**
......
return map;
}
QList<QHash<QString, QVariant> > EntityManager::findByAttributes(const QSharedPointer<Entity> &entity, bool ignoreID) {
QSqlQuery q = this->schema.data()->getQueryBuilder().data()->findByAttributes(entity, ignoreID);
return this->convertQueryResult(q);

Auch abrufbar als: Unified diff