mirror of
https://gitea.msk.dinamika-avia.ru/Constanta-Design/RRJServer.git
synced 2026-03-28 19:55:48 +03:00
368 lines
7.0 KiB
C++
368 lines
7.0 KiB
C++
#include "providerdblms.h"
|
|
|
|
#include <QThread>
|
|
|
|
ProviderDBLMS::ProviderDBLMS(QWidget *parentWidget, QObject *parent) :
|
|
QObject(parent),
|
|
dbLMS(nullptr)
|
|
{
|
|
dbLMS = new InterfaceDataBaseLMS(parentWidget);
|
|
//ConnectionToDB();
|
|
}
|
|
|
|
ProviderDBLMS::~ProviderDBLMS()
|
|
{
|
|
DisConnectionFromDB();
|
|
}
|
|
|
|
void ProviderDBLMS::ConnectionToDB()
|
|
{
|
|
mtxAccess.lock();
|
|
if(! dbLMS->DBisConnected())
|
|
{
|
|
if(dbLMS->ConnectionToDB())
|
|
{
|
|
Q_EMIT signal_BlockAutorization(false);
|
|
//Q_EMIT signal_NeedUpdateUI(true, true);
|
|
}
|
|
}
|
|
mtxAccess.unlock();
|
|
}
|
|
|
|
void ProviderDBLMS::DisConnectionFromDB()
|
|
{
|
|
mtxAccess.lock();
|
|
if(dbLMS->DBisConnected())
|
|
{
|
|
Q_EMIT signal_BlockAutorization(true);
|
|
|
|
dbLMS->DisConnectionFromDB();
|
|
|
|
//Q_EMIT signal_NeedUpdateUI(true, true);
|
|
}
|
|
mtxAccess.unlock();
|
|
}
|
|
|
|
QString ProviderDBLMS::getMainInstructorName()
|
|
{
|
|
mtxAccess.lock();
|
|
|
|
if(! dbLMS->DBisConnected())
|
|
{
|
|
mtxAccess.unlock();
|
|
return QStringLiteral("");
|
|
}
|
|
|
|
//QString res = dbLMS->getNameInstructorByLogin(loginInstructorLoggedInLocal);
|
|
|
|
mtxAccess.unlock();
|
|
//return res;
|
|
return QStringLiteral("");
|
|
}
|
|
|
|
bool ProviderDBLMS::authorizationTrainee(QString login, QString password, QString classroom_name, QString computer_name)
|
|
{
|
|
mtxAccess.lock();
|
|
|
|
if(! dbLMS->DBisConnected())
|
|
{
|
|
mtxAccess.unlock();
|
|
return false;
|
|
}
|
|
|
|
Q_EMIT signal_BlockAutorization(true);
|
|
|
|
bool res = dbLMS->AuthorizationTrainee(login, password, classroom_name, computer_name);
|
|
|
|
Q_EMIT signal_BlockAutorization(false);
|
|
|
|
//if(res)
|
|
//Q_EMIT signal_NeedUpdateUI(false, true);
|
|
|
|
mtxAccess.unlock();
|
|
return res;
|
|
}
|
|
|
|
bool ProviderDBLMS::deAuthorizationTrainee(QString login)
|
|
{
|
|
mtxAccess.lock();
|
|
|
|
if(! dbLMS->DBisConnected())
|
|
{
|
|
mtxAccess.unlock();
|
|
return false;
|
|
}
|
|
|
|
Q_EMIT signal_BlockAutorization(true);
|
|
|
|
bool res = dbLMS->deAuthorizationTrainee(login);
|
|
|
|
Q_EMIT signal_BlockAutorization(false);
|
|
|
|
//if(res)
|
|
//Q_EMIT signal_NeedUpdateUI(false, true);
|
|
|
|
mtxAccess.unlock();
|
|
return res;
|
|
}
|
|
|
|
QString ProviderDBLMS::getNameTraineeByLogin(QString login)
|
|
{
|
|
mtxAccess.lock();
|
|
|
|
if(! dbLMS->DBisConnected())
|
|
{
|
|
mtxAccess.unlock();
|
|
return QStringLiteral("");
|
|
}
|
|
|
|
QString res = dbLMS->getNameTraineeByLogin(login);
|
|
|
|
mtxAccess.unlock();
|
|
return res;
|
|
}
|
|
|
|
bool ProviderDBLMS::authorizationInstructor(QString login, QString password)
|
|
{
|
|
mtxAccess.lock();
|
|
|
|
if(! dbLMS->DBisConnected())
|
|
{
|
|
mtxAccess.unlock();
|
|
return false;
|
|
}
|
|
|
|
Q_EMIT signal_BlockAutorization(true);
|
|
|
|
bool res = dbLMS->AuthorizationInstructor(login, password);
|
|
|
|
Q_EMIT signal_BlockAutorization(false);
|
|
|
|
//if(res)
|
|
//Q_EMIT signal_NeedUpdateUI(true, false);
|
|
|
|
mtxAccess.unlock();
|
|
return res;
|
|
}
|
|
|
|
bool ProviderDBLMS::deAuthorizationInstructor(QString login)
|
|
{
|
|
mtxAccess.lock();
|
|
|
|
if(! dbLMS->DBisConnected())
|
|
{
|
|
mtxAccess.unlock();
|
|
return false;
|
|
}
|
|
|
|
Q_EMIT signal_BlockAutorization(true);
|
|
|
|
bool res = dbLMS->deAuthorizationInstructor(login);
|
|
|
|
Q_EMIT signal_BlockAutorization(false);
|
|
|
|
/*
|
|
if(res)
|
|
{
|
|
if(loginInstructorLoggedInLocal == login)
|
|
{
|
|
loginInstructorLoggedInLocal = QStringLiteral("");
|
|
adminMode = false;
|
|
|
|
viewerInstructors->setAdminMode(adminMode);
|
|
viewerTrainees->setAdminMode(adminMode);
|
|
viewerInstructors->setAuthComplited(false);
|
|
viewerTrainees->setAuthComplited(false);
|
|
|
|
Q_EMIT signal_NeedUpdateUI(true, false);
|
|
}
|
|
else
|
|
Q_EMIT signal_NeedUpdateUI(true, false);
|
|
|
|
}*/
|
|
|
|
mtxAccess.unlock();
|
|
return res;
|
|
}
|
|
|
|
QString ProviderDBLMS::getNameInstructorByLogin(QString login)
|
|
{
|
|
mtxAccess.lock();
|
|
|
|
if(! dbLMS->DBisConnected())
|
|
{
|
|
mtxAccess.unlock();
|
|
return QStringLiteral("");
|
|
}
|
|
|
|
QString res = dbLMS->getNameInstructorByLogin(login);
|
|
|
|
mtxAccess.unlock();
|
|
return res;
|
|
}
|
|
|
|
QList<Instructor> ProviderDBLMS::GetListAllInstructors()
|
|
{
|
|
QList<Instructor> listInstructors;
|
|
qDebug() << "ProviderDBLMS " << QThread::currentThreadId();
|
|
mtxAccess.lock();
|
|
|
|
if(! dbLMS->DBisConnected())
|
|
{
|
|
mtxAccess.unlock();
|
|
return listInstructors;
|
|
}
|
|
|
|
listInstructors = dbLMS->getListInstructors();
|
|
|
|
mtxAccess.unlock();
|
|
return listInstructors;
|
|
}
|
|
|
|
QList<Trainee> ProviderDBLMS::GetListAllTrainees()
|
|
{
|
|
QList<Trainee> listTrainees;
|
|
|
|
mtxAccess.lock();
|
|
|
|
if(! dbLMS->DBisConnected())
|
|
{
|
|
mtxAccess.unlock();
|
|
return listTrainees;
|
|
}
|
|
|
|
listTrainees = dbLMS->getListTrainees();
|
|
|
|
mtxAccess.unlock();
|
|
return listTrainees;
|
|
}
|
|
|
|
QList<Group> ProviderDBLMS::GetListAllGroups()
|
|
{
|
|
QList<Group> listGroups;
|
|
|
|
mtxAccess.lock();
|
|
|
|
if(! dbLMS->DBisConnected())
|
|
{
|
|
mtxAccess.unlock();
|
|
return listGroups;
|
|
}
|
|
|
|
listGroups = dbLMS->getListGroups();
|
|
|
|
mtxAccess.unlock();
|
|
return listGroups;
|
|
}
|
|
|
|
int ProviderDBLMS::newInstructor()
|
|
{
|
|
return dbLMS->newInstructor();
|
|
}
|
|
|
|
int ProviderDBLMS::delInstructor(int id)
|
|
{
|
|
return dbLMS->delInstructor(id);
|
|
}
|
|
|
|
int ProviderDBLMS::editInstructor(Instructor instructor)
|
|
{
|
|
return dbLMS->editInstructor(instructor);
|
|
}
|
|
|
|
int ProviderDBLMS::newTrainee(int id_group)
|
|
{
|
|
return dbLMS->newTrainee(id_group);
|
|
}
|
|
|
|
int ProviderDBLMS::delTrainee(int id)
|
|
{
|
|
return dbLMS->delTrainee(id);
|
|
}
|
|
|
|
int ProviderDBLMS::editTrainee(Trainee trainee)
|
|
{
|
|
return dbLMS->editTrainee(trainee);
|
|
}
|
|
|
|
int ProviderDBLMS::newGroup()
|
|
{
|
|
return dbLMS->newGroup();
|
|
}
|
|
|
|
int ProviderDBLMS::delGroup(int id)
|
|
{
|
|
return dbLMS->delGroup(id);
|
|
}
|
|
|
|
int ProviderDBLMS::editGroup(Group group)
|
|
{
|
|
return dbLMS->editGroup(group);
|
|
}
|
|
|
|
int ProviderDBLMS::newTaskAMM(TaskAmmFim task, int id_trainee)
|
|
{
|
|
return dbLMS->newTaskAMM(task, id_trainee);
|
|
}
|
|
|
|
int ProviderDBLMS::delTaskAMM(int id)
|
|
{
|
|
return dbLMS->delTaskAMM(id);
|
|
}
|
|
|
|
int ProviderDBLMS::editTaskAMM(TaskAmmFim task)
|
|
{
|
|
return dbLMS->editTaskAMM(task);
|
|
}
|
|
|
|
int ProviderDBLMS::newTaskFIM(TaskAmmFim task, int id_trainee)
|
|
{
|
|
return dbLMS->newTaskFIM(task, id_trainee);
|
|
}
|
|
|
|
int ProviderDBLMS::delTaskFIM(int id)
|
|
{
|
|
return dbLMS->delTaskFIM(id);
|
|
}
|
|
|
|
int ProviderDBLMS::editTaskFIM(TaskAmmFim task)
|
|
{
|
|
return dbLMS->editTaskFIM(task);
|
|
}
|
|
|
|
QList<TaskAmmFim> ProviderDBLMS::GetListTasksAMMofTrainee(int id_trainee)
|
|
{
|
|
QList<TaskAmmFim> listTasks;
|
|
|
|
mtxAccess.lock();
|
|
|
|
if(! dbLMS->DBisConnected())
|
|
{
|
|
mtxAccess.unlock();
|
|
return listTasks;
|
|
}
|
|
|
|
listTasks = dbLMS->getListTasksAMMofTrainee(id_trainee);
|
|
|
|
mtxAccess.unlock();
|
|
return listTasks;
|
|
}
|
|
|
|
QList<TaskAmmFim> ProviderDBLMS::GetListTasksFIMofTrainee(int id_trainee)
|
|
{
|
|
QList<TaskAmmFim> listTasks;
|
|
|
|
mtxAccess.lock();
|
|
|
|
if(! dbLMS->DBisConnected())
|
|
{
|
|
mtxAccess.unlock();
|
|
return listTasks;
|
|
}
|
|
|
|
listTasks = dbLMS->getListTasksFIMofTrainee(id_trainee);
|
|
|
|
mtxAccess.unlock();
|
|
return listTasks;
|
|
}
|