From a0f2a168f943b28fbe5c7a7afdd3ff3af3d58014 Mon Sep 17 00:00:00 2001 From: Klaus Basan Date: Wed, 3 May 2017 02:07:17 +0200 Subject: [PATCH] Ref T28, utility functions to get timestamps --- src/blackmisc/db/datastoreobjectlist.cpp | 18 ++++++++++++++++++ src/blackmisc/db/datastoreobjectlist.h | 6 ++++++ 2 files changed, 24 insertions(+) diff --git a/src/blackmisc/db/datastoreobjectlist.cpp b/src/blackmisc/db/datastoreobjectlist.cpp index 42eac5540..d3ac892d0 100644 --- a/src/blackmisc/db/datastoreobjectlist.cpp +++ b/src/blackmisc/db/datastoreobjectlist.cpp @@ -142,6 +142,24 @@ namespace BlackMisc return newValues.size() - removeSize; } + template + QDateTime IDatastoreObjectList::oldestDbTimestamp() const + { + CONTAINER objs(this->container()); + objs.removeObjectsWithoutDbKey(); + if (objs.isEmpty()) { return QDateTime(); } + return objs.oldestDbTimestamp(); + } + + template + QDateTime IDatastoreObjectList::latestDbTimestamp() const + { + CONTAINER objs(this->container()); + objs.removeObjectsWithoutDbKey(); + if (objs.isEmpty()) { return QDateTime(); } + return objs.latestTimestamp(); + } + template CONTAINER IDatastoreObjectList::fromDatabaseJson(const QJsonArray &array) { diff --git a/src/blackmisc/db/datastoreobjectlist.h b/src/blackmisc/db/datastoreobjectlist.h index bf1000d44..32604f2da 100644 --- a/src/blackmisc/db/datastoreobjectlist.h +++ b/src/blackmisc/db/datastoreobjectlist.h @@ -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);