Ref T28, utility functions to get timestamps

This commit is contained in:
Klaus Basan
2017-05-03 02:07:17 +02:00
committed by Mathew Sutcliffe
parent 595c71b387
commit a0f2a168f9
2 changed files with 24 additions and 0 deletions

View File

@@ -142,6 +142,24 @@ namespace BlackMisc
return newValues.size() - removeSize;
}
template<class OBJ, class CONTAINER, typename KEYTYPE>
QDateTime IDatastoreObjectList<OBJ, CONTAINER, KEYTYPE>::oldestDbTimestamp() const
{
CONTAINER objs(this->container());
objs.removeObjectsWithoutDbKey();
if (objs.isEmpty()) { return QDateTime(); }
return objs.oldestDbTimestamp();
}
template<class OBJ, class CONTAINER, typename KEYTYPE>
QDateTime IDatastoreObjectList<OBJ, CONTAINER, KEYTYPE>::latestDbTimestamp() const
{
CONTAINER objs(this->container());
objs.removeObjectsWithoutDbKey();
if (objs.isEmpty()) { return QDateTime(); }
return objs.latestTimestamp();
}
template <class OBJ, class CONTAINER, typename KEYTYPE>
CONTAINER IDatastoreObjectList<OBJ, CONTAINER, KEYTYPE>::fromDatabaseJson(const QJsonArray &array)
{

View File

@@ -50,6 +50,12 @@ namespace BlackMisc
//! Update or insert data (based on DB key)
int replaceOrAddObjectsByKey(const CONTAINER &container);
//! Latest DB timestamp (means objects with DB key)
QDateTime latestDbTimestamp() const;
//! Latest DB timestamp (means objects with DB key)
QDateTime oldestDbTimestamp() const;
//! From DB JSON with default prefixes
static CONTAINER fromDatabaseJson(const QJsonArray &array);