summaryrefslogtreecommitdiff
path: root/core/src/Model/TransactionsModel.hpp
diff options
context:
space:
mode:
authorrtk0c <[email protected]>2021-04-09 23:17:45 -0700
committerrtk0c <[email protected]>2021-04-09 23:17:45 -0700
commit4303d0be47526b35e5bb3e3be001da227dae5d96 (patch)
tree6e79502e9966f835756d30929ea3f7127ba3080b /core/src/Model/TransactionsModel.hpp
parentce8660cc5bfc12e6e3f75d4cce22492783ca9066 (diff)
Fix crash on load entries
- TODO format time properly - TODO add Purchases table visualization
Diffstat (limited to 'core/src/Model/TransactionsModel.hpp')
-rw-r--r--core/src/Model/TransactionsModel.hpp55
1 files changed, 55 insertions, 0 deletions
diff --git a/core/src/Model/TransactionsModel.hpp b/core/src/Model/TransactionsModel.hpp
new file mode 100644
index 0000000..beed663
--- /dev/null
+++ b/core/src/Model/TransactionsModel.hpp
@@ -0,0 +1,55 @@
+#pragma once
+
+#include "cplt_fwd.hpp"
+
+#include <SQLiteCpp/Database.h>
+#include <SQLiteCpp/Statement.h>
+#include <cstdint>
+
+class SalesTable {
+public:
+ SQLite::Statement GetRowsStatement;
+ SQLite::Statement FilterRowsStatement;
+
+public:
+ SalesTable(TransactionModel& db);
+};
+
+class PurchasesTable {
+public:
+ PurchasesTable(TransactionModel& db);
+};
+
+class DeliveryTable {
+public:
+ DeliveryTable(TransactionModel& db);
+};
+
+// TODO fuck SQLite::Statement has move ctor but not move assignment operator
+class TransactionModel {
+private:
+ class DatabaseWrapper {
+ public:
+ SQLite::Database mSqlite;
+ DatabaseWrapper(TransactionModel& self);
+ };
+
+ Project* mProject;
+ DatabaseWrapper mDbWrapper;
+ SalesTable mSales;
+ PurchasesTable mPurchases;
+ DeliveryTable mDeliveries;
+
+public:
+ TransactionModel(Project& project);
+
+ const SQLite::Database& GetSQLite() const;
+ SQLite::Database& GetSQLite();
+
+ const SalesTable& GetSales() const;
+ SalesTable& GetSales();
+ const PurchasesTable& GetPurchases() const;
+ PurchasesTable& GetPurchases();
+ const DeliveryTable& GetDeliveries() const;
+ DeliveryTable& GetDeliveries();
+};