#ifndef DATABASE_H #define DATABASE_H #include "sale.h" #include "seller.h" #include #include class Database { public: explicit Database(const std::string& dbname); Database(); ~Database(); Database(const Database&) = delete; Database& operator=(const Database&) = delete; void exec(const std::string& sql); unsigned int storeSellers(std::vector>& sellers, bool onlyDelete = false); unsigned int loadSellers(std::vector>& sellers); unsigned int storeSales(std::vector>& sales); unsigned int loadSales(std::vector>& sales, std::vector>& sellers); void updateCashPointNo(int oldCashPointNo, int newCashPointNo); void newDb(); private: sqlite3* db_{nullptr}; std::string dbname_; void init(); void beginTransaction(); void endTransaction(); void createNew(); int getVersion(); unsigned int storeArticles(std::vector articles); void updateDbToVer2(); }; #endif // DATABASE_H