#ifndef DATABASE_H #define DATABASE_H #include #include #include #include #include #include #include "model.h" #define BDD_FILE "kc.bdd" #define INIT_SCRIPT "init.sql" class Database { public: Database(); std::list GetUsers(); bool IsValidUser(wxString user, wxString password); User* LoadUser(wxString name); void LoadYear(User* user, int year); void UpdateOperation(struct operation op); wxString AddOperation(User* user, struct operation op); void DeleteOperation(struct operation op); double GetAccountAmount(wxString id, int month, int year); void SetAccountAmount(int month, int year, wxString accountId, double amount); wxString AddAccount(User* user, struct Account ac); void UpdateAccount(struct Account ac); void DeleteAccount(struct Account ac); wxString AddCategory(User* user, struct category category); void UpdateCategory(User* user, wxString oldName, wxString name, wxString color); void DeleteCategory(User* user, struct category category); std::map > GetAllOperations(User* user); private: wxSQLite3Database _db; void CreateDatabase(); }; #endif