Files
RRJServer/DBXML/InstructorsAndTrainees/instructors/databaseinstructors.h
2024-10-30 15:33:26 +03:00

62 lines
1.4 KiB
C++

#ifndef DATABASEINSTRUCTORS_H
#define DATABASEINSTRUCTORS_H
#include <QList>
#include <QObject>
#include "instructorsAndTrainees_global.h"
#include "instructor.h"
#include "databaselms.h"
class INSTRUCTORSANDTRAINEES_EXPORT DataBaseInstructors : QObject
{
Q_OBJECT
public:
DataBaseInstructors(QString appPath, DataBaseLMS* dbLMS = nullptr);
~DataBaseInstructors();
void LoadInstructorsXML();
void SaveInstructorsXML();
void LoadInstructorsPSQL();
bool AuthorizationInstructor(QString login, QString password);
bool deAuthorizationInstructor(QString login);
QList<Instructor> getListInstructors(){ return listOfInstructors; } //Для загрузки
Instructor getInstructor(QString name);
QString getNameInstructorByLogin(QString login);
QString getAuthorizedInstructorName();
QString newInstructor();
void deleteInstructor(QString name);
void toArchiveInstructor(QString name);
void fromeArchiveInstructor(QString name);
bool editInstructor(QString name, Instructor instructor);
bool isAdmin(QString name);
bool isArchived(QString name);
private:
QString generateDefaultNameInstructor();
bool checkExistNameInstructor(QString name);
QString generateDefaultLoginInstructor();
bool checkExistLoginInstructor(QString login);
private:
QList<Instructor> listOfInstructors;
QString appDirPath;
DataBaseLMS* dbLMS;
};
#endif // DATABASEINSTRUCTORS_H