38 lines
851 B
C++
38 lines
851 B
C++
|
|
#ifndef TICKET_SALE_WIDGET_H
|
||
|
|
#define TICKET_SALE_WIDGET_H
|
||
|
|
|
||
|
|
#include "ui_ticket_sale_widget.h"
|
||
|
|
#include <QSqlTableModel>
|
||
|
|
#include <QWidget>
|
||
|
|
|
||
|
|
// Forward declaration
|
||
|
|
class TicketsModel;
|
||
|
|
class TicketsRepositoryInterface;
|
||
|
|
|
||
|
|
class TicketSaleWidget : public QWidget, Ui::TicketSaleWidget {
|
||
|
|
Q_OBJECT
|
||
|
|
|
||
|
|
private:
|
||
|
|
TicketsModel *ticketsModel_;
|
||
|
|
TicketsRepositoryInterface *ticketsRepository_;
|
||
|
|
qint32 selectedSessionId_;
|
||
|
|
|
||
|
|
public:
|
||
|
|
explicit TicketSaleWidget(QWidget *parent = nullptr);
|
||
|
|
|
||
|
|
private:
|
||
|
|
void initializeRepositories();
|
||
|
|
void initializeModels();
|
||
|
|
void setupConnections();
|
||
|
|
void setupSessionFinder();
|
||
|
|
void setupTableView();
|
||
|
|
|
||
|
|
void validateSessionValues(const std::initializer_list<QVariant> &valuesList);
|
||
|
|
|
||
|
|
private slots:
|
||
|
|
void onPushButtonSellTicketClicked();
|
||
|
|
void onFieldRetrieved(const QSqlField &field);
|
||
|
|
};
|
||
|
|
|
||
|
|
#endif // TICKET_SALE_WIDGET_H
|