#ifndef DATABASELMS_H #define DATABASELMS_H #include #include "instructor.h" #include "trainee.h" #include "group.h" class DataBaseLMS { public: DataBaseLMS(); ~DataBaseLMS(); protected: //Подключение bool createConnection(); void deleteConnection(); //Транзакции bool transactionBegin(); bool transactionEnd(); //Списки QList selectAllInstructors(); QList selectAllTrainees(); QList selectAllGroups(); //Инструктор Instructor selectInstructor(int id_instructor); int selectInstructorID(QString login, QString password = QStringLiteral("")); bool selectInstructorIsAdmin(int id_instructor); bool selectInstructorLoggedIn(int id_instructor); bool selectInstructorArchived(int id_instructor); int updateInstructorLoggedIn(int id_instructor, bool loggedIn); int updateInstructorArchived(int id_instructor, bool archived); int insertInstructor(); int insertInstructor(Instructor instructor); int deleteInstructor(int id_instructor); int updateInstructor(Instructor instructor); //Группа Group selectGroup(int id_group);// int insertGroup();// int insertGroup(Group group); int deleteGroup(int group_id); int updateGroup(Group group); //Обучаемый Trainee selectTrainee(int id_trainee);// QList selectAllTraineesInGroup(int id_group); int selectTraineeID(QString login, QString password = QStringLiteral(""));// bool selectTraineeArchived(int id_trainee);// bool selectTraineeLoggedIn(int id_trainee);// int updateTraineeLoggedIn(int id_trainee, bool loggedIn);// int updateTraineeArchived(int id_trainee, bool archived);// int insertTrainee(int id_group);// int insertTrainee(Trainee trainee); int deleteTrainee(int trainee_id); int updateTrainee(Trainee trainee); QList selectTasksOfTrainee(int trainee_id); private: int queryExecInt(QString queryStr); //bool queryExecBool(QString queryStr); void messageWarningErrorQuery(QString queryStr, QSqlQuery* query); private: QSqlDatabase* db; bool transactionBegined; const QString dbName = "DataBaseLMS"; const QString dbUserName = "postgres"; const QString dbPassword = "12345678"; const QString dbType = "QPSQL"; }; #endif // DATABASELMS_H