Revision f2bd88b8
Von Christian Ehringfeld vor etwa 10 Jahren hinzugefügt
| tests/models.cpp | ||
|---|---|---|
|
#include "models.h"
|
||
|
|
||
|
Person::Person(QObject *parent): Entity(parent) {
|
||
|
}
|
||
|
Person::Person(QString firstName, QString familyName, Gender gender,
|
||
|
QString customPictureFileName, QString namePrefix, QString nickName,
|
||
|
QDate birthday, QObject *parent): Entity(parent) {
|
||
|
setFirstName(firstName);
|
||
|
setFamilyName(familyName);
|
||
|
setNamePrefix(namePrefix);
|
||
|
setNickName(nickName);
|
||
|
setBirthday(birthday);
|
||
|
setGender(gender);
|
||
|
setCustomPictureFileName(customPictureFileName);
|
||
|
}
|
||
|
|
||
|
const QHash<QString, CuteEntityManager::Relation> Person::getRelations() const {
|
||
|
auto hash = QHash<QString, CuteEntityManager::Relation>();
|
||
|
hash.insert("groups", CuteEntityManager::Relation("groups",
|
||
|
RelationType::MANY_TO_MANY,
|
||
|
QString("persons")));
|
||
|
hash.insert("maintainedGroups", CuteEntityManager::Relation("maintainedGroups",
|
||
|
RelationType::ONE_TO_MANY,
|
||
|
QString("leader")));
|
||
|
return hash;
|
||
|
}
|
||
|
|
||
|
QString Person::fullName(NameOrder nameOrder) const {
|
||
|
QString name = QString();
|
||
|
if (nameOrder == NameOrder::FAMILY_FIRST_NAME_ORDER) {
|
||
|
name += this->getFamilyName();
|
||
|
name += ", ";
|
||
|
if (!this->getNamePrefix().isEmpty()) {
|
||
|
name += this->getNamePrefix();
|
||
|
name += " ";
|
||
|
}
|
||
|
name += this->getFirstName();
|
||
|
} else {
|
||
|
name += this->getFirstName();
|
||
|
name += " ";
|
||
|
name += this->getFamilyName();
|
||
|
if (!this->getNamePrefix().isEmpty()) {
|
||
|
name += ", ";
|
||
|
name += this->getNamePrefix();
|
||
|
}
|
||
|
}
|
||
|
return name;
|
||
|
}
|
||
|
QString Person::getFirstName() const {
|
||
|
return firstName;
|
||
|
}
|
||
|
|
||
|
void Person::setFirstName(const QString &value) {
|
||
|
firstName = value;
|
||
|
}
|
||
|
QString Person::getFamilyName() const {
|
||
|
return familyName;
|
||
|
}
|
||
|
|
||
|
void Person::setFamilyName(const QString &value) {
|
||
|
familyName = value;
|
||
|
}
|
||
|
QString Person::getNamePrefix() const {
|
||
|
return namePrefix;
|
||
|
}
|
||
|
|
||
|
void Person::setNamePrefix(const QString &value) {
|
||
|
namePrefix = value;
|
||
|
}
|
||
|
|
||
|
QString Person::getNickName() const {
|
||
|
return nickName;
|
||
|
}
|
||
|
|
||
|
void Person::setNickName(const QString &value) {
|
||
|
nickName = value;
|
||
|
}
|
||
|
|
||
|
QDate Person::getBirthday() const {
|
||
|
return birthday;
|
||
|
}
|
||
|
|
||
|
void Person::setBirthday(const QDate &value) {
|
||
|
birthday = value;
|
||
|
}
|
||
|
|
||
|
Person::Gender Person::getGender() const {
|
||
|
return gender;
|
||
|
}
|
||
|
|
||
|
void Person::setGender(const Gender &value) {
|
||
|
gender = value;
|
||
|
}
|
||
|
|
||
|
QString Person::getCustomPictureFileName() const {
|
||
|
return customPictureFileName;
|
||
|
}
|
||
|
|
||
|
void Person::setCustomPictureFileName(const QString &value) {
|
||
|
customPictureFileName = value;
|
||
|
}
|
||
|
|
||
|
QList<QSharedPointer<Group> > Person::getGroups() const {
|
||
|
return groups;
|
||
|
}
|
||
|
|
||
|
void Person::setGroups(const QList<QSharedPointer<Group> > &value) {
|
||
|
groups = value;
|
||
|
}
|
||
|
|
||
|
void Person::addContact(Contact *contact) {
|
||
|
this->contacts.append(QSharedPointer<Contact>(contact));
|
||
|
}
|
||
|
|
||
|
void Person::addAddress(Address *address) {
|
||
|
this->addresses.append(QSharedPointer<Address>(address));
|
||
|
}
|
||
|
|
||
|
QList<QSharedPointer<Group> > Person::getMaintainedGroups() const {
|
||
|
return maintainedGroups;
|
||
|
}
|
||
|
|
||
|
void Person::setMaintainedGroups(const QList<QSharedPointer<Group> > &value) {
|
||
|
maintainedGroups = value;
|
||
|
}
|
||
|
|
||
|
Group::Group() : Entity() {
|
||
|
}
|
||
|
|
||
|
const QHash<QString, CuteEntityManager::Relation> Group::getRelations() const {
|
||
|
auto hash = QHash<QString, CuteEntityManager::Relation>();
|
||
|
hash.insert("persons", CuteEntityManager::Relation("persons",
|
||
|
RelationType::MANY_TO_MANY));
|
||
|
hash.insert("leader", CuteEntityManager::Relation("leader",
|
||
|
RelationType::MANY_TO_ONE));
|
||
|
return hash;
|
||
|
}
|
||
|
|
||
|
QString Group::getName() const {
|
||
|
return name;
|
||
|
}
|
||
|
|
||
|
void Group::setName(const QString &value) {
|
||
|
name = value;
|
||
|
}
|
||
|
|
||
|
QSharedPointer<Person> Group::getLeader() const {
|
||
|
return mainTeacher;
|
||
|
}
|
||
|
|
||
|
void Group::setLeader(const QSharedPointer<Person> &value) {
|
||
|
mainTeacher = value;
|
||
|
}
|
||
|
QList<QSharedPointer<Person> > Group::getPersons() const {
|
||
|
return persons;
|
||
|
}
|
||
|
|
||
|
void Group::setPersons(const QList<QSharedPointer<Person> > &value) {
|
||
|
persons = value;
|
||
|
}
|
||
|
|
||
|
|
||
|
|
||
|
|
||
| tests/models.h | ||
|---|---|---|
|
#ifndef MODELS_H
|
||
|
#define MODELS_H
|
||
|
|
||
|
#include <QDateTime>
|
||
|
#include <QString>
|
||
|
#include <QList>
|
||
|
#include <QObject>
|
||
|
#include <QDebug>
|
||
|
#include "../../entitymanager/src/entity.h"
|
||
|
|
||
|
using namespace CuteEntityManager;
|
||
|
class Person: public Entity {
|
||
|
Q_OBJECT
|
||
|
Q_PROPERTY(QString firstName READ getFirstName WRITE setFirstName)
|
||
|
Q_PROPERTY(QString familyName READ getFamilyName WRITE setFamilyName)
|
||
|
Q_PROPERTY(QString namePrefix READ getNamePrefix WRITE setNamePrefix)
|
||
|
Q_PROPERTY(QString nickName READ getNickName WRITE setNickName)
|
||
|
Q_PROPERTY(QString customPictureFileName READ getCustomPictureFileName WRITE
|
||
|
setCustomPictureFileName)
|
||
|
Q_PROPERTY(QDate birthday READ getBirthday WRITE setBirthday)
|
||
|
Q_PROPERTY(Gender gender READ getGender WRITE setGender)
|
||
|
Q_PROPERTY(QList<QSharedPointer<Group>> groups READ getGroups WRITE setGroups)
|
||
|
Q_PROPERTY(QList<QSharedPointer<Group>> maintainedGroups READ
|
||
|
getMaintainedGroups WRITE setMaintainedGroups)
|
||
|
Q_PROPERTY(QList<QSharedPointer<Contact>> contacts READ getContacts WRITE
|
||
|
setContacts)
|
||
|
Q_PROPERTY(QList<QSharedPointer<Address>> addresses READ
|
||
|
getAddresses WRITE setAddresses)
|
||
|
|
||
|
public:
|
||
|
enum class Gender {MALE, FEMALE, UNKNOWNGENDER};
|
||
|
Q_ENUM(Gender)
|
||
|
enum class NameOrder {FIRST_FAMILY_NAME_ORDER, FAMILY_FIRST_NAME_ORDER};
|
||
|
Q_ENUM(NameOrder)
|
||
|
Q_INVOKABLE explicit Person(QObject *parent = 0);
|
||
|
Person(QString firstName, QString familyName,
|
||
|
Gender gender = Gender::UNKNOWNGENDER,
|
||
|
QString customPictureFileName = QString(), QString namePrefix = QString(),
|
||
|
QString nickName = QString(), QDate birthday = QDate(), QObject *parent = 0);
|
||
|
|
||
|
virtual const QHash<QString, CuteEntityManager::Relation> getRelations() const override;
|
||
|
|
||
|
bool isPresent(QDateTime date = QDateTime::currentDateTime());
|
||
|
QString fullName(NameOrder nameOrder = NameOrder::FAMILY_FIRST_NAME_ORDER)
|
||
|
const;
|
||
|
|
||
|
QString getFirstName() const;
|
||
|
void setFirstName(const QString &value);
|
||
|
|
||
|
QString getFamilyName() const;
|
||
|
void setFamilyName(const QString &value);
|
||
|
|
||
|
QString getNamePrefix() const;
|
||
|
void setNamePrefix(const QString &value);
|
||
|
|
||
|
QString getNickName() const;
|
||
|
void setNickName(const QString &value);
|
||
|
|
||
|
QDate getBirthday() const;
|
||
|
void setBirthday(const QDate &value);
|
||
|
|
||
|
Gender getGender() const;
|
||
|
void setGender(const Gender &value);
|
||
|
|
||
|
QString getCustomPictureFileName() const;
|
||
|
void setCustomPictureFileName(const QString &value);
|
||
|
|
||
|
QList<QSharedPointer<Contact> > getContacts() const;
|
||
|
void setContacts(const QList<QSharedPointer<Contact> > &value);
|
||
|
|
||
|
QList<QSharedPointer<Address> > getAddresses() const;
|
||
|
void setAddresses(const QList<QSharedPointer<Address> > &value);
|
||
|
|
||
|
QList<QSharedPointer<Group> > getGroups() const;
|
||
|
void setGroups(const QList<QSharedPointer<Group> > &value);
|
||
|
|
||
|
void addContact(Contact *contact);
|
||
|
void addAddress(Address *address);
|
||
|
|
||
|
QList<QSharedPointer<Group> > getMaintainedGroups() const;
|
||
|
void setMaintainedGroups(const QList<QSharedPointer<Group> > &value);
|
||
|
|
||
|
protected:
|
||
|
QString firstName;
|
||
|
QString familyName;
|
||
|
QString namePrefix;
|
||
|
QString nickName;
|
||
|
QDate birthday;
|
||
|
Gender gender;
|
||
|
QString customPictureFileName;
|
||
|
QList <QSharedPointer<Contact>> contacts;
|
||
|
QList <QSharedPointer<Address>> addresses;
|
||
|
QList <QSharedPointer<Group>> groups;
|
||
|
QList <QSharedPointer<Group>> maintainedGroups;
|
||
|
|
||
|
};
|
||
|
|
||
|
class Person;
|
||
|
class Relation;
|
||
|
class Group: public CuteEntityManager::Entity {
|
||
|
Q_OBJECT
|
||
|
Q_PROPERTY(QList<QSharedPointer<Person>> persons READ getPersons WRITE
|
||
|
setPersons)
|
||
|
Q_PROPERTY(QString name READ getName WRITE setName)
|
||
|
Q_PROPERTY(QSharedPointer<Person> leader READ getLeader WRITE
|
||
|
setLeader)
|
||
|
|
||
|
public:
|
||
|
Q_INVOKABLE Group();
|
||
|
const QHash<QString, CuteEntityManager::Relation> getRelations() const override;
|
||
|
|
||
|
QString getName() const;
|
||
|
void setName(const QString &value);
|
||
|
|
||
|
QSharedPointer<Person> getLeader() const;
|
||
|
void setLeader(const QSharedPointer<Person> &value);
|
||
|
|
||
|
QList<QSharedPointer<Person> > getPersons() const;
|
||
|
void setPersons(const QList<QSharedPointer<Person> > &value);
|
||
|
|
||
|
protected:
|
||
|
QList<QSharedPointer<Person>> persons;
|
||
|
QSharedPointer<Person> leader;
|
||
|
QString name;
|
||
|
};
|
||
|
|
||
|
#endif // MODELS_H
|
||
Auch abrufbar als: Unified diff
init test models