refract Server 0

This commit is contained in:
2026-02-06 14:47:20 +03:00
parent 8ab4238537
commit 4b98d00faf
17 changed files with 549 additions and 333 deletions

View File

@@ -3,12 +3,11 @@
#include <QThread>
#include <QMessageBox>
ProviderDBLMS::ProviderDBLMS(QWidget *parentWidget, QObject *parent) :
ProviderDBLMS::ProviderDBLMS(QObject *parent) :
QObject(parent),
dbLMS(nullptr),
parentWidget(parentWidget)
dbLMS(nullptr)
{
dbLMS = new InterfaceDataBaseLMS(parentWidget);
dbLMS = new InterfaceDataBaseLMS();
connect(dbLMS, &InterfaceDataBaseLMS::signal_ErrorPostgreSQL, this, &ProviderDBLMS::signal_ErrorPostgreSQL);
}
@@ -17,6 +16,15 @@ ProviderDBLMS::~ProviderDBLMS()
DisConnectionFromDB();
}
void ProviderDBLMS::slot_TryConnectionToDB()
{
ConnectionToDB();
}
void ProviderDBLMS::slot_TryDisConnectionFromDB()
{
DisConnectionFromDB();
}
bool ProviderDBLMS::ConnectionToDB()
{
mtxAccess.lock();
@@ -26,15 +34,31 @@ bool ProviderDBLMS::ConnectionToDB()
{
bool res = Q_EMIT signal_BlockAutorization(false, "SERVER", "DisConnectionDB");
bool res1 = dbLMS->deAuthorizationAllTrainees();
bool res2 = dbLMS->deAuthorizationAllInstructors();
emit signal_StateConnectionToDB(true, getDBSettings());
emit signal_ResultTryConnectDb(true);
mtxAccess.unlock();
return true;
}
else
{
{
emit signal_StateConnectionToDB(false, getDBSettings());
emit signal_ResultTryConnectDb(false);
mtxAccess.unlock();
return false;
}
}
}
bool res1 = dbLMS->deAuthorizationAllTrainees();
bool res2 = dbLMS->deAuthorizationAllInstructors();
emit signal_StateConnectionToDB(true, getDBSettings());
emit signal_ResultTryConnectDb(true);
mtxAccess.unlock();
return true;
}
@@ -46,7 +70,19 @@ void ProviderDBLMS::DisConnectionFromDB()
{
bool res = Q_EMIT signal_BlockAutorization(true, "SERVER", "DisConnectionDB");
dbLMS->disConnectionFromDB();
bool res1 = dbLMS->deAuthorizationAllTrainees();
bool res2 = dbLMS->deAuthorizationAllInstructors();
if(dbLMS->disConnectionFromDB())
{
emit signal_ResultTryDisConnectDb(true);
emit signal_StateConnectionToDB(false, getDBSettings());
}
}
else
{
emit signal_ResultTryDisConnectDb(true);
emit signal_StateConnectionToDB(false, getDBSettings());
}
mtxAccess.unlock();
}

View File

@@ -10,7 +10,7 @@ class ProviderDBLMS : public QObject
{
Q_OBJECT
public:
explicit ProviderDBLMS(QWidget *parentWidget, QObject *parent = nullptr);
explicit ProviderDBLMS(QObject *parent = nullptr);
~ProviderDBLMS();
public:
QString getMainInstructorName();
@@ -75,10 +75,20 @@ Q_SIGNALS:
bool signal_BlockAutorization(bool block, QString whoFullName, QString type);
signals:
void signal_ErrorPostgreSQL(QString text);
void signal_StateConnectionToDB(bool dbIsConnected, DataBaseSettings dbSettings);
public:
void signal_ResultTryConnectDb(bool result);
void signal_ResultTryDisConnectDb(bool result);
public slots:
void slot_TryConnectionToDB();
void slot_TryDisConnectionFromDB();
private:
bool ConnectionToDB();
void DisConnectionFromDB();
public:
bool DBisConnected();
DataBaseSettings getDBSettings();
@@ -94,7 +104,6 @@ public:
private:
InterfaceDataBaseLMS* dbLMS;
QMutex mtxAccess;
QWidget *parentWidget;
};
#endif // PROVIDERDBLMS_H