Files
RRJServer/DB_IaT/InstructorsAndTrainees/trainees/databasetrainees.h
2024-11-02 13:43:57 +03:00

76 lines
1.9 KiB
C++

#ifndef DATABASETRAINEES_H
#define DATABASETRAINEES_H
#include "instructorsAndTrainees_global.h"
#include "trainee.h"
#include "group.h"
#include "databaselms.h"
#include <QList>
#include <QColor>
#include <QObject>
class INSTRUCTORSANDTRAINEES_EXPORT DataBaseTrainees : QObject
{
Q_OBJECT
public:
DataBaseTrainees(DataBaseLMS* dbLMS);
~DataBaseTrainees();
void LoadTraineesGroupsPSQL();
bool AuthorizationTrainee(QString login, QString password, QString learnClass, QString computer);
bool deAuthorizationTrainee(QString login);
void setTasks(QString login, QStringList tasks);
QStringList getTasks(QString login);
QString getNameTraineeOnComputer(QString computer);
Trainee getTraineeOnComputer(QString computer);
QString getNameTraineeByLogin(QString login);
QColor getColorGroupByLogin(QString login);
QList<Trainee> getListTraineesInGroup(QString nameGroup);
QList<Group> getListGroups();
QColor getColorGroup(Group::ColorGroup numColor);
Trainee getTrainee(QString name);
Group getGroup(QString nameGroup);
QString newGroup();
bool deleteGroup(QString name);
bool editGroup(QString name, Group group);
QString newTrainee(QString nameGroup);
void deleteTrainee(QString name);
bool editTrainee(QString name, Trainee trainee);
bool isArchived(QString name);
private:
QString generateDefaultNameGroup();
QString generateDefaultNameTrainee();
bool checkExistNameGroup(QString name);
bool checkExistNameTrainee(QString name);
QString generateDefaultLoginTrainee();
bool checkExistLoginTrainee(QString login);
Group::ColorGroup generateDefaultColorGroup();
bool checkExistColorGroup(Group::ColorGroup color);
private:
QList<Trainee> listOfTrainees;
QList<Group> listOfGroups;
QList<QColor> listOfColorGroup;
DataBaseLMS* dbLMS;
};
#endif // DATABASETRAINEES_H