Files
RRJServer/DB_LMS/DataBaseLMS/databaselms.h
2024-11-13 09:54:35 +03:00

84 lines
2.4 KiB
C++

#ifndef DATABASELMS_H
#define DATABASELMS_H
#include <QSqlDatabase>
#include "instructor.h"
#include "trainee.h"
#include "group.h"
#include "DataBaseLMS_global.h"
class DATABASELMS_EXPORT DataBaseLMS
{
public:
DataBaseLMS();
~DataBaseLMS();
protected:
public:
//Подключение
bool createConnection();
void deleteConnection();
//Транзакции
bool transactionBegin();
bool transactionEnd();
//Списки
QList<Instructor> selectAllInstructors();
QList<Trainee> selectAllTrainees();
QList<Group> 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);//
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<Task> 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