commit c6a0f4429295ff2a30b7919cbcc24fa3673fd5a4
Author: Christian Ehringfeld <c.ehringfeld@t-online.de>
Date:   Wed Jan 4 21:10:38 2017 +0100

    argh...

diff --git a/samples/simple/address.cpp b/samples/simple/address.cpp
deleted file mode 100644
index a000d55..0000000
--- a/samples/simple/address.cpp
+++ /dev/null
@@ -1,69 +0,0 @@
-#include "address.h"
-#include "pupil.h"
-
-Address::Address(QString label, QString street, QString postcode,
-                 QString city) {
-    this->label = label;
-    this->street = street;
-    this->postcode = postcode;
-    this->city = city;
-}
-
-QString Address::getLabel() const {
-    return label;
-}
-
-void Address::setLabel(const QString &value) {
-    label = value;
-}
-
-QString Address::getStreet() const {
-    return street;
-}
-
-void Address::setStreet(const QString &value) {
-    street = value;
-}
-
-QString Address::getPostcode() const {
-    return postcode;
-}
-
-void Address::setPostcode(const QString &value) {
-    postcode = value;
-}
-
-QString Address::getCity() const {
-    return city;
-}
-
-void Address::setCity(const QString &value) {
-    city = value;
-}
-
-QList<QSharedPointer<Person> > Address::getPersons() const {
-    return persons;
-}
-
-void Address::setPersons(const QList<QSharedPointer<Person> > &value) {
-    persons = value;
-}
-
-const QHash<QString, CuteEntityManager::Relation> Address::getRelations()
-const {
-    auto hash = Entity::getRelations();
-    hash.insert("persons", CuteEntityManager::Relation("persons",
-                RelationType::MANY_TO_MANY,
-                QString("addresses")));
-    return hash;
-}
-
-QList<QSharedPointer<Pupil> > Address::getPupils() const {
-    return pupils;
-}
-
-void Address::setPupils(const QList<QSharedPointer<Pupil> > &value) {
-    pupils = value;
-}
-
-
diff --git a/samples/simple/address.h b/samples/simple/address.h
deleted file mode 100644
index dc2ee5d..0000000
--- a/samples/simple/address.h
+++ /dev/null
@@ -1,54 +0,0 @@
-#ifndef ADDRESS_H
-#define ADDRESS_H
-
-#include <QString>
-#include <QHash>
-#include "entity.h"
-
-class Person;
-class Relation;
-class Pupil;
-class Address: public CuteEntityManager::Entity {
-    Q_OBJECT
-    EM_MACRO(Address)
-    Q_PROPERTY(QString label READ getLabel WRITE setLabel)
-    Q_PROPERTY(QString street READ getStreet WRITE setStreet)
-    Q_PROPERTY(QString postcode READ getPostcode WRITE setPostcode)
-    Q_PROPERTY(QString city READ getCity WRITE setCity)
-    Q_PROPERTY(QList<QSharedPointer<Person>> persons READ
-               getPersons WRITE setPersons)
-
-  public:
-    Q_INVOKABLE Address() {}
-    Address(QString label, QString street, QString postcode, QString city);
-
-    QString getLabel() const;
-    void setLabel(const QString &value);
-
-    QString getStreet() const;
-    void setStreet(const QString &value);
-
-    QString getPostcode() const;
-    void setPostcode(const QString &value);
-
-    QString getCity() const;
-    void setCity(const QString &value);
-
-    QList<QSharedPointer<Person> > getPersons() const;
-    void setPersons(const QList<QSharedPointer<Person> > &value);
-
-    const QHash<QString, CuteEntityManager::Relation> getRelations() const override;
-
-    QList<QSharedPointer<Pupil> > getPupils() const;
-    void setPupils(const QList<QSharedPointer<Pupil> > &value);
-
-protected:
-    QString label;
-    QString street;
-    QString postcode;
-    QString city;
-    QList<QSharedPointer<Person>> persons;
-    QList<QSharedPointer<Pupil>> pupils;
-};
-
-#endif // ADDRESS_H
diff --git a/samples/simple/contact.cpp b/samples/simple/contact.cpp
deleted file mode 100644
index 8e88d50..0000000
--- a/samples/simple/contact.cpp
+++ /dev/null
@@ -1,56 +0,0 @@
-#include "contact.h"
-#include "pupil.h"
-
-Contact::Contact(QString label, Category category, QString content) {
-    this->label = label;
-    this->category = category;
-    this->content = content;
-}
-
-const QHash<QString, CuteEntityManager::Relation> Contact::getRelations()
-const {
-    auto hash = Entity::getRelations();
-    hash.insert("persons", CuteEntityManager::Relation("persons",
-                RelationType::MANY_TO_MANY,
-                QString("contacts")));
-    return hash;
-}
-
-QString Contact::getContent() const {
-    return content;
-}
-
-void Contact::setContent(const QString &value) {
-    content = value;
-}
-
-QString Contact::getLabel() const {
-    return label;
-}
-
-void Contact::setLabel(const QString &value) {
-    label = value;
-}
-Contact::Category Contact::getCategory() const {
-    return category;
-}
-
-void Contact::setCategory(const Category &value) {
-    category = value;
-}
-
-QList<QSharedPointer<Person> > Contact::getPersons() const {
-    return persons;
-}
-
-void Contact::setPersons(const QList<QSharedPointer<Person> > &value) {
-    persons = value;
-}
-
-QList<QSharedPointer<Pupil> > Contact::getPupils() const {
-    return pupils;
-}
-
-void Contact::setPupils(const QList<QSharedPointer<Pupil> > &value) {
-    pupils = value;
-}
diff --git a/samples/simple/contact.h b/samples/simple/contact.h
deleted file mode 100644
index 736ab80..0000000
--- a/samples/simple/contact.h
+++ /dev/null
@@ -1,49 +0,0 @@
-#ifndef CONTACT_H
-#define CONTACT_H
-
-#include <QString>
-#include "entity.h"
-
-class Relation;
-class Person;
-class Pupil;
-class Contact: public CuteEntityManager::Entity {
-    Q_OBJECT
-    EM_MACRO(Contact)
-    Q_PROPERTY(QString content READ getContent WRITE setContent)
-    Q_PROPERTY(Category category READ getCategory WRITE setCategory)
-    Q_PROPERTY(QString label READ getLabel WRITE setLabel)
-    Q_PROPERTY(QList<QSharedPointer<Person>> persons READ
-               getPersons WRITE setPersons)
-
-  public:
-    enum Category {EMAIL, MOBILE, LANDLINE, MESSENGER, EXTRA} ;
-    Q_INVOKABLE Contact() {}
-    Contact(QString label, Category category, QString content);
-    const QHash<QString, CuteEntityManager::Relation> getRelations() const
-    override;
-
-    QString getContent() const;
-    void setContent(const QString &value);
-
-    QString getLabel() const;
-    void setLabel(const QString &value);
-
-    Category getCategory() const;
-    void setCategory(const Category &value);
-
-    QList<QSharedPointer<Person> > getPersons() const;
-    void setPersons(const QList<QSharedPointer<Person> > &value);
-
-    QList<QSharedPointer<Pupil> > getPupils() const;
-    void setPupils(const QList<QSharedPointer<Pupil> > &value);
-
-protected:
-    QString content;
-    Category category;
-    QString label;
-    QList<QSharedPointer<Person>> persons;
-    QList<QSharedPointer<Pupil>> pupils;
-};
-
-#endif // CONTACT_H
diff --git a/samples/simple/datacreation.cpp b/samples/simple/datacreation.cpp
index 320c2b1..ca4405c 100644
--- a/samples/simple/datacreation.cpp
+++ b/samples/simple/datacreation.cpp
@@ -30,10 +30,5 @@ QList<QSharedPointer<Entity>> DataCreation::createRatingEntities() {
     def2_1p->setPanelRow(1);
     resultList.append(def2_1p);
     rateSystem2Definitions.append(resultList.last().objectCast<RatingMarkDefinition>());
-    ratingSystem2->setRatingMarkDefinitions(rateSystem2Definitions);
-    ratingSystem2->setAdditionalInfo("sys2");
-    auto now = QDateTime::currentDateTime();
-    ratingSystem2->setBookedAt(now);
-    ratingSystem2->setBookedFor(now);
     return resultList;
 }
diff --git a/samples/simple/incident.cpp b/samples/simple/incident.cpp
index f25819c..18d12a3 100644
--- a/samples/simple/incident.cpp
+++ b/samples/simple/incident.cpp
@@ -116,7 +116,6 @@ void Incident::setAdditionalInfo(const QString &additionalInfo)
 const QHash<QString, Relation> Incident::getRelations() const
 {
     auto hash = QHash<QString, CuteEntityManager::Relation>();
-
     hash.insert("pupil",CuteEntityManager::Relation(
                     "pupil",CuteEntityManager::RelationType::MANY_TO_ONE));
     hash.insert("group",CuteEntityManager::Relation(
diff --git a/samples/simple/incident.h b/samples/simple/incident.h
index 456887a..46692d6 100644
--- a/samples/simple/incident.h
+++ b/samples/simple/incident.h
@@ -26,10 +26,7 @@ class Incident : public Entity
     Q_PROPERTY(QDateTime cancelledAt READ cancelledAt WRITE setCancelledAt)
 
     Q_PROPERTY(QSharedPointer<Pupil> pupil READ pupil WRITE setPupil)
-//    Q_PROPERTY(QSharedPointer<AppData> appData READ appData WRITE setAppData)
     Q_PROPERTY(QSharedPointer<Group> group READ group WRITE setGroup)
-//    Q_PROPERTY(QSharedPointer<Room> room READ room WRITE setRoom)
-//    Q_PROPERTY(QSharedPointer<SeatingPlan> seatingPlan READ seatingPlan WRITE setSeatingPlan)
 
     Q_PROPERTY(QString additionalInfo READ additionalInfo WRITE setAdditionalInfo)
     Q_PROPERTY(QSharedPointer<Incident> predecessor READ predecessor WRITE setPredecessor)
@@ -92,10 +89,7 @@ protected:
     QDateTime m_bookedAt;
     QDateTime m_cancelledAt;
     QSharedPointer<Pupil> m_pupil;
-//    QSharedPointer<AppData> m_appData;
     QSharedPointer<Group> m_group;
-//    QSharedPointer<Room> m_room;
-//    QSharedPointer<SeatingPlan> m_seatingPlan;
     bool m_cancelled = false;
     bool m_locked = false;
     QString m_additionalInfo;
diff --git a/samples/simple/main.cpp b/samples/simple/main.cpp
index 9dadc40..316bd75 100644
--- a/samples/simple/main.cpp
+++ b/samples/simple/main.cpp
@@ -6,10 +6,6 @@
 #include "person.h"
 #include "pupil.h"
 #include "group.h"
-#include "address.h"
-#include "contact.h"
-
-#include "occasion.h"
 #include "ratingmarkdefinition.h"
 #include "ratingmarksystem.h"
 #include "ratingmarkincident.h"
@@ -21,12 +17,9 @@
 using namespace CuteEntityManager;
 int main(int argc, char *argv[]) {
     Q_UNUSED(argc) Q_UNUSED(argv);
-    EntityInstanceFactory::registerClass<Address>();
-    EntityInstanceFactory::registerClass<Contact>();
     EntityInstanceFactory::registerClass<Person>();
     EntityInstanceFactory::registerClass<Pupil>();
     EntityInstanceFactory::registerClass<Group>();
-    EntityInstanceFactory::registerClass<Occasion>();
     EntityInstanceFactory::registerClass<Incident>();
     EntityInstanceFactory::registerClass<RatingMarkDefinition>();
     EntityInstanceFactory::registerClass<RatingMarkIncident>();
@@ -35,9 +28,9 @@ int main(int argc, char *argv[]) {
     QSharedPointer<CuteEntityManager::EntityManager> e =
             QSharedPointer<CuteEntityManager::EntityManager>(new
                                                              CuteEntityManager::EntityManager("QSQLITE",
-                                                                                              QDir::currentPath() + "/db.sqlite"));
+                                                                                              QDir::currentPath() + "/db.sqlite","","","","",true));
     qDebug()<<QDir::currentPath();
-    QStringList inits = QStringList() << "Address" << "Contact" << "Person" << "Pupil" << "Group" << "Incident" << "Occasion" << "RatingMarkDefinition" << "RatingMarkIncident" << "RatingMarkSystem";
+    QStringList inits = QStringList() << "Person" << "Pupil" << "Group" << "Incident" << "RatingMarkDefinition" << "RatingMarkIncident" << "RatingMarkSystem";
     e->startup("0.1", inits);
 
     try {
@@ -50,12 +43,10 @@ int main(int argc, char *argv[]) {
         firstGroup->addPerson(pupil1);
         e->save(QList<QSharedPointer<Entity>>()<<pupil1<<firstGroup);
 
-        QSharedPointer<Occasion> occasion = QSharedPointer<Occasion>(new Occasion(""));
         QSharedPointer<RatingMarkIncident> firstInc = QSharedPointer<RatingMarkIncident>(new RatingMarkIncident());
         firstInc->setAdditionalInfo("addInf");
         firstInc->setBookedAt(QDateTime::currentDateTime());
         firstInc->setBookedFor(QDateTime::currentDateTime());
-        firstInc->setOccasion(occasion);
         firstInc->setPupil(pupil1);
         firstInc->setRateable(true);
         auto system = e->findAll<RatingMarkSystem>().first();
@@ -95,14 +86,14 @@ int main(int argc, char *argv[]) {
         inc->setWeight(1.0);
         inc->setRateable(true);
         inc->setSignatureNeeded(false);
-        inc->setOccasion(e->findById<Occasion>(1));
         auto rateSys = e->findById<RatingMarkSystem>(1);
         e->refresh(rateSys);
         inc->setRatingMarkSystem(rateSys);
         // ---------------------------------------------------------------------
 
         bool success;
-        success = oldInc.isNull() || e->save(oldInc);
+        success &= e->save(inc);
+        success = !oldInc.isNull() && e->save(oldInc);
         // only save new version if old version could is successfully cancelled
         if (success) {
             success &= e->save(inc);
diff --git a/samples/simple/occasion.cpp b/samples/simple/occasion.cpp
deleted file mode 100644
index 5b2583f..0000000
--- a/samples/simple/occasion.cpp
+++ /dev/null
@@ -1,22 +0,0 @@
-#include "occasion.h"
-
-Occasion::Occasion() : Entity()
-{
-    m_text.clear();
-}
-
-Occasion::Occasion(QString text)
-{
-    m_text=text;
-}
-QString Occasion::text()
-{
-    return m_text;
-}
-
-void Occasion::setText(QString &text)
-{
-    m_text = text;
-}
-
-
diff --git a/samples/simple/occasion.h b/samples/simple/occasion.h
deleted file mode 100644
index ca3354d..0000000
--- a/samples/simple/occasion.h
+++ /dev/null
@@ -1,25 +0,0 @@
-#ifndef OCCASION_H
-#define OCCASION_H
-
-#include "entity.h"
-#include <QObject>
-
-using namespace CuteEntityManager;
-class Occasion : public Entity
-{
-    Q_OBJECT
-    EM_MACRO(Occasion)
-    Q_PROPERTY(QString text READ text WRITE setText)
-public:
-    Q_INVOKABLE explicit Occasion();
-    Occasion(QString text);
-    QString text();
-    void setText(QString &text);
-
-protected:
-    QString m_text;
-
-};
-
-#endif // OCCASION_H
-
diff --git a/samples/simple/person.cpp b/samples/simple/person.cpp
index 06aece3..eef2479 100644
--- a/samples/simple/person.cpp
+++ b/samples/simple/person.cpp
@@ -1,6 +1,4 @@
 #include "person.h"
-#include "contact.h"
-#include "address.h"
 
 Person::Person(QObject *parent): Entity(parent) {
 }
@@ -19,10 +17,6 @@ const QHash<QString, CuteEntityManager::Relation> Person::getRelations() const {
     auto hash = QHash<QString, CuteEntityManager::Relation>();
     hash.insert("groups", CuteEntityManager::Relation("groups",
                 RelationType::MANY_TO_MANY));
-    hash.insert("contacts", CuteEntityManager::Relation("contacts",
-                RelationType::MANY_TO_MANY));
-    hash.insert("addresses", CuteEntityManager::Relation("addresses",
-                RelationType::MANY_TO_MANY));
     return hash;
 }
 
@@ -89,20 +83,7 @@ QString Person::getCustomPictureFileName() const {
 void Person::setCustomPictureFileName(const QString &value) {
     customPictureFileName = value;
 }
-QList<QSharedPointer<Contact> > Person::getContacts() const {
-    return contacts;
-}
-
-void Person::setContacts(const QList<QSharedPointer<Contact> > &value) {
-    contacts = value;
-}
-QList<QSharedPointer<Address> > Person::getAddresses() const {
-    return addresses;
-}
 
-void Person::setAddresses(const QList<QSharedPointer<Address> > &value) {
-    addresses = value;
-}
 QList<QSharedPointer<Group> > Person::getGroups() const {
     return groups;
 }
@@ -110,11 +91,3 @@ QList<QSharedPointer<Group> > Person::getGroups() const {
 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));
-}
diff --git a/samples/simple/person.h b/samples/simple/person.h
index 03536ce..2fa3b7a 100644
--- a/samples/simple/person.h
+++ b/samples/simple/person.h
@@ -25,10 +25,6 @@ class Person: public Entity {
                setCustomPictureFileName)
     Q_PROPERTY(QDate birthday READ getBirthday WRITE setBirthday)
     Q_PROPERTY(QList<QSharedPointer<Group>> groups READ getGroups WRITE setGroups)
-    Q_PROPERTY(QList<QSharedPointer<Contact>> contacts READ getContacts WRITE
-               setContacts)
-    Q_PROPERTY(QList<QSharedPointer<Address>> addresses READ
-               getAddresses WRITE setAddresses)
 
   public:
     enum class NameOrder {FIRST_FAMILY_NAME_ORDER, FAMILY_FIRST_NAME_ORDER};
@@ -61,20 +57,9 @@ class Person: public Entity {
     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);
-
-
-
   protected:
     QString firstName;
     QString familyName;
@@ -82,8 +67,6 @@ class Person: public Entity {
     QString nickName;
     QDate birthday;
     QString customPictureFileName;
-    QList <QSharedPointer<Contact>> contacts;
-    QList <QSharedPointer<Address>> addresses;
     QList <QSharedPointer<Group>> groups;
 
 };
diff --git a/samples/simple/ratingmarkincident.cpp b/samples/simple/ratingmarkincident.cpp
index 21b132c..ebc622a 100644
--- a/samples/simple/ratingmarkincident.cpp
+++ b/samples/simple/ratingmarkincident.cpp
@@ -55,20 +55,9 @@ void RatingMarkIncident::setRateable(bool rateable)
     m_rateable = rateable;
 }
 
-QSharedPointer<Occasion> RatingMarkIncident::occasion() const
-{
-    return m_occasion;
-}
-
-void RatingMarkIncident::setOccasion(const QSharedPointer<Occasion> &occasion)
-{
-    m_occasion = occasion;
-}
-
 const QHash<QString, Relation> RatingMarkIncident::getRelations() const
 {
     auto hash = Incident::getRelations();
-    hash.insert("occasion",Relation("occasion",CuteEntityManager::RelationType::MANY_TO_ONE));
     hash.insert("ratingMarkSystem", Relation("ratingMarkSystem",RelationType::MANY_TO_ONE));
     return hash;
 }
diff --git a/samples/simple/ratingmarkincident.h b/samples/simple/ratingmarkincident.h
index b649a0f..2dc7068 100644
--- a/samples/simple/ratingmarkincident.h
+++ b/samples/simple/ratingmarkincident.h
@@ -4,7 +4,6 @@
 #include <QObject>
 
 #include "incident.h"
-#include "occasion.h"
 #include "ratingmarksystem.h"
 
 class AppData;
@@ -18,7 +17,6 @@ class RatingMarkIncident : public Incident
     Q_PROPERTY(qreal weight READ weight WRITE setWeight)
     Q_PROPERTY(bool rateable READ rateable WRITE setRateable)
     Q_PROPERTY(bool signatureNeeded READ signatureNeeded WRITE setSignatureNeeded)
-    Q_PROPERTY(QSharedPointer<Occasion> occasion READ occasion WRITE setOccasion)
     // ratingMarkSystem scheint auf den ersten Blick ein Duplikat zu sein, da man es aus AppData
     // (zu AppRatingData gecastet) ermitteln könnte. In der TimeMachine ist es jedoch wichtig, dass
     // bei einem für die App geänderten RatingMarkSystem ein alter RatingMarkIncident noch sein
@@ -42,13 +40,9 @@ public:
     bool rateable() const;
     void setRateable(bool rateable);
 
-    QSharedPointer<Occasion> occasion() const;
-    void setOccasion(const QSharedPointer<Occasion> &occasion);
-
     virtual const QHash<QString, CuteEntityManager::Relation> getRelations() const override;
     virtual InheritanceStrategy getInheritanceStrategy() const override { return InheritanceStrategy::PER_CLASS_TABLE; }
 
-
     QSharedPointer<RatingMarkSystem> ratingMarkSystem() const;
     void setRatingMarkSystem(const QSharedPointer<RatingMarkSystem> &ratingMarkSystem);
 
@@ -62,7 +56,6 @@ protected:
     qreal m_weight = 1;
     bool m_rateable = true;
     bool m_signatureNeeded = false;
-    QSharedPointer<Occasion> m_occasion = QSharedPointer<Occasion>();
     QSharedPointer<RatingMarkSystem> m_ratingMarkSystem = QSharedPointer<RatingMarkSystem>();
 };
 
diff --git a/samples/simple/ratingmarksystem.cpp b/samples/simple/ratingmarksystem.cpp
index 6a82dc0..d562ce8 100644
--- a/samples/simple/ratingmarksystem.cpp
+++ b/samples/simple/ratingmarksystem.cpp
@@ -1,6 +1,5 @@
 #include "ratingmarksystem.h"
 #include "ratingmarkincident.h"
-#include "occasion.h"
 
 #include <QDebug>
 #include <QtMath>
@@ -64,7 +63,6 @@ const QHash<QString, Relation> RatingMarkSystem::getRelations() const
 {
         auto hash = Incident::getRelations();
         hash.insert("ratingMarkDefinitions",Relation("ratingMarkDefinitions",CuteEntityManager::RelationType::ONE_TO_MANY,QString("ratingMarkSystem")));
-
         return hash;
 }
 
@@ -137,75 +135,6 @@ QList<QSharedPointer<RatingMarkIncident> > RatingMarkSystem::sortValue(QList<QSh
     return list;
 }
 
-bool RatingMarkSystem::shallBeCalculated(QSharedPointer<RatingMarkIncident> inc, QSharedPointer<Occasion> occasion, bool respectRateabilityProperty) {
-    if (!occasion.isNull() && (occasion != inc->occasion())) {
-        return false;
-    }
-    if (respectRateabilityProperty && !inc->rateable()) {
-        return false;
-    }
-    return true;
-
-}
-
-qreal RatingMarkSystem::averageSomeFloatProperty(QList<QSharedPointer<RatingMarkIncident> > list,
-                                                 QString propertyName,
-                                                 QSharedPointer<Occasion> occasion,
-                                                 int digits,
-                                                 Enums::RoundingOption rounding,
-                                                 bool respectWeight,
-                                                 bool respectRateabilityProperty)
-{
-    qreal sum = 0;
-    qreal weightSum = 0;
-    QListIterator<QSharedPointer<RatingMarkIncident> > iter(list);
-    bool ok = true;
-
-    while (ok && iter.hasNext()) {
-        QSharedPointer<RatingMarkIncident> inc = iter.next();
-        qreal addValue;
-        QVariant var = inc->getProperty(propertyName);
-        if (var.isValid() && !var.isNull()) {
-            addValue = var.toFloat(&ok);
-            if (!ok) {
-                qDebug()<<"RatingMarkSystem::averageSomeFloatProperty:  Float conversion of "<<propertyName<<" was not successful. ";
-            }
-        } else {
-            ok = false;
-            qDebug()<<"RatingMarkSystem::averageSomeFloatProperty:  "<<propertyName<<" was not found - typo?";
-        }
-        if (ok && this->shallBeCalculated(inc, occasion, respectRateabilityProperty)) {
-            qreal weight = respectWeight ? inc->weight() : 1;
-            if (weight < -Enums::EPSILON_CALCULATION) {
-                ok = true;
-            }
-            sum += weight * addValue;
-            weightSum += weight;
-        }
-    }
-    Q_ASSERT(ok);
-    return !ok? -1 : ((qAbs(weightSum) < Enums::EPSILON_CALCULATION)? -1 : this->shortenNumber(sum / weightSum, digits, rounding));
-}
-
-qreal RatingMarkSystem::averagePercent(const QList<QSharedPointer<RatingMarkIncident> > list,
-                                       QSharedPointer<Occasion> occasion,
-                                       int digits,
-                                       Enums::RoundingOption rounding,
-                                       bool respectWeight,
-                                       bool respectRateabilityProperty)
-{
-    return this->averageSomeFloatProperty(list,"percentValue", occasion, digits, rounding, respectWeight, respectRateabilityProperty);
-}
-
-qreal RatingMarkSystem::averageValueSimple(QList<QSharedPointer<RatingMarkIncident> > list,
-                                           QSharedPointer<Occasion> occasion,
-                                           int digits,
-                                           Enums::RoundingOption rounding,
-                                           bool respectWeight,
-                                           bool respectRateabilityProperty)
-{
-    return this->averageSomeFloatProperty(list,"value", occasion, digits, rounding, respectWeight, respectRateabilityProperty);
-}
 
 qreal RatingMarkSystem::symbolToPercent(QString symbol)
 {
diff --git a/samples/simple/ratingmarksystem.h b/samples/simple/ratingmarksystem.h
index e20b98e..9ab90e6 100644
--- a/samples/simple/ratingmarksystem.h
+++ b/samples/simple/ratingmarksystem.h
@@ -4,7 +4,6 @@
 #include "ratingmarkdefinition.h"
 
 class RatingMarkIncident;
-class Occasion;
 ////////////////////////////////////////////////
 /// \brief The RatingMarkSystem class
 ///
@@ -74,37 +73,10 @@ public:
     static bool moreThanValue(const QSharedPointer<RatingMarkIncident> &a, const QSharedPointer<RatingMarkIncident> &b);
     virtual QList<QSharedPointer<RatingMarkIncident>> sortPercent(QList<QSharedPointer<RatingMarkIncident>> list, Qt::SortOrder sortOrder);
     virtual QList<QSharedPointer<RatingMarkIncident>> sortValue(QList<QSharedPointer<RatingMarkIncident>> list, Qt::SortOrder sortOrder);
-
-
-    virtual qreal averagePercent(QList<QSharedPointer<RatingMarkIncident>> list,
-                                 QSharedPointer<Occasion> occasion,
-                                 int digits = -1,
-                                 Enums::RoundingOption rounding = Enums::RoundingOption::ROUND,
-                                 bool respectWeight = true,
-                                 bool respectRateabilityProperty = true);
-    virtual qreal averageValueSimple(QList<QSharedPointer<RatingMarkIncident>> list,
-                                 QSharedPointer<Occasion> occasion,
-                                 int digits = -1,
-                                 Enums::RoundingOption rounding = Enums::RoundingOption::ROUND,
-                                 bool respectWeight = true,
-                                 bool respectRateabilityProperty = true);
-    virtual bool shallBeCalculated(QSharedPointer<RatingMarkIncident> inc,
-                           QSharedPointer<Occasion> occasion,
-                           bool respectRateabilityProperty = true);
-
-
     qreal symbolToPercent(QString symbol);
     QString percentToSymbol(qreal percent);
     qreal shortenNumber(qreal nr, int digits, Enums::RoundingOption rounding);
 protected:
-    qreal averageSomeFloatProperty(QList<QSharedPointer<RatingMarkIncident>> list,
-                                       QString propertyName,
-                                       QSharedPointer<Occasion> occasion,
-                                       int digits = -1,
-                                       Enums::RoundingOption rounding = Enums::RoundingOption::ROUND,
-                                       bool respectWeight = true,
-                                       bool respectRateabilityProperty = true);
-
     QString m_name;
     QList<QSharedPointer<RatingMarkDefinition>> m_ratingMarkDefinitions;
     bool m_valuesComputable = false;
diff --git a/samples/simple/simple.pro b/samples/simple/simple.pro
index 94af4cf..7e9aa08 100644
--- a/samples/simple/simple.pro
+++ b/samples/simple/simple.pro
@@ -20,10 +20,7 @@ HEADERS += \
     ratingmarksystem.h \
     ratingmarkdefinition.h \
     enums.h \
-    occasion.h \
     datacreation.h \
-    address.h \
-    contact.h \
     group.h \
     person.h \
     pupil.h \
@@ -35,10 +32,7 @@ SOURCES += \
     incident.cpp \
     ratingmarksystem.cpp \
     ratingmarkdefinition.cpp \
-    occasion.cpp \
     datacreation.cpp \
-    address.cpp \
-    contact.cpp \
     group.cpp \
     person.cpp \
     pupil.cpp
diff --git a/src/entitymanager.cpp b/src/entitymanager.cpp
index e788a9f..446b09a 100644
--- a/src/entitymanager.cpp
+++ b/src/entitymanager.cpp
@@ -399,7 +399,7 @@ void EntityManager::removeConnectionName(const QString &name) {
     EntityManager::connectionNames.removeOne(name);
 }
 
-QSharedPointer<Entity> EntityManager::findById(const qint64 &id,
+QSharedPointer<Entity> EntityManager:: findById(const qint64 &id,
                                                QSharedPointer<Entity> &e,
                                                const bool refresh) {
     QSharedPointer<Entity> r;
