#ifndef TARIFF_DAILY_TICKET_H_INCLUDED #define TARIFF_DAILY_TICKET_H_INCLUDED #include <QString> #include <QDateTime> #include <QDebug> #include <QVector> #include <QDebugStateSaver> #include "tariff_customer.h" #include "tariff_time_range.h" #include "tariff_timebase.h" struct ATBDailyTicket { ATBDailyTicket() = default; int daily_ticket_payment_option_id; int daily_ticket_id; int daily_ticket_price_id; int daily_ticket_tb_id; // time base setting for ticket: // absolute: using time stamps // relative: use offsets from // some reference time point, // typically "start time". QVector<int> daily_ticket_clearance_customer_ids; // who is allowed to buy the ticket: // list of customer types QTime daily_ticket_from_min; // absolute time base QTime daily_ticket_to_max; int daily_ticket_from_offset_min; // relative time base int daily_ticket_to_offset_max; void reset() { daily_ticket_payment_option_id = 0; daily_ticket_id = 0; daily_ticket_price_id = 0; daily_ticket_tb_id = 0; daily_ticket_clearance_customer_ids.clear(); daily_ticket_from_min = QTime(); daily_ticket_to_max = QTime(); daily_ticket_from_offset_min = 0; daily_ticket_to_offset_max = 0; } friend QDebug operator<<(QDebug debug, ATBDailyTicket const &ticket) { QDebugStateSaver saver(debug); debug.nospace() << "DAILY TICKET " << "\n" << " daily_ticket_id: " << ticket.daily_ticket_id << "\n" << " daily_ticket_payment_option_id: " << ticket.daily_ticket_payment_option_id << "\n" << " daily_ticket_tbase_id: " << ticket.daily_ticket_tb_id << "\n" << " daily_ticket_price_id: " << ticket.daily_ticket_price_id << "\n" << "daily_ticket_clearance_customer_ids: " << ticket.daily_ticket_clearance_customer_ids << "\n" << " daily_ticket_from_min: " << ticket.daily_ticket_from_min.toString(Qt::ISODate) << "\n" << " daily_ticket_to_min: " << ticket.daily_ticket_to_max.toString(Qt::ISODate) << "\n"; return debug; } }; #endif // TARIFF_DAILY_TICKET_H_INCLUDED