44 lines
1.0 KiB
C++
44 lines
1.0 KiB
C++
|
|
#ifndef SESSIONS_MODEL_H
|
||
|
|
#define SESSIONS_MODEL_H
|
||
|
|
|
||
|
|
#include "base_sql_table_model.h"
|
||
|
|
|
||
|
|
class SessionsModel : public BaseSqlTableModel {
|
||
|
|
Q_OBJECT
|
||
|
|
|
||
|
|
public:
|
||
|
|
// Enum for columns
|
||
|
|
enum SessionsColumns { Id, MovieId, HallId, BeginAt, TicketPrice };
|
||
|
|
|
||
|
|
public:
|
||
|
|
explicit SessionsModel(QObject *parent, const QSqlDatabase &database);
|
||
|
|
|
||
|
|
// Initialize the model
|
||
|
|
void initialize();
|
||
|
|
|
||
|
|
// Overlooking class BaseSqlTableModel methods
|
||
|
|
|
||
|
|
QVariant headerData(int section, Qt::Orientation orientation,
|
||
|
|
int role = Qt::DisplayRole) const override;
|
||
|
|
|
||
|
|
inline bool isCompleteDatabaseFiltering() const final {
|
||
|
|
#ifdef NO_DATE_TIME_SEARCH
|
||
|
|
return false;
|
||
|
|
#else
|
||
|
|
return true;
|
||
|
|
#endif
|
||
|
|
};
|
||
|
|
|
||
|
|
protected:
|
||
|
|
QString createMultiColumnFilter(const QString &filter) const final;
|
||
|
|
|
||
|
|
private:
|
||
|
|
bool buildHallIdFilterCondition(const QString &inFilter,
|
||
|
|
QString &outFilter) const;
|
||
|
|
|
||
|
|
bool buildMovieIdFilterCondition(const QString &inFilter,
|
||
|
|
QString &outFilter) const;
|
||
|
|
};
|
||
|
|
|
||
|
|
#endif // SESSIONS_MODEL_H
|