86 lines
2.3 KiB
C++
86 lines
2.3 KiB
C++
#include "ticket.h"
|
|
|
|
Ticket::Ticket()
|
|
: m_status(Ticket::s[NOT_INITIALIZED])
|
|
, m_validFrom()
|
|
, m_validUntil()
|
|
, m_durationMinutesNetto(0)
|
|
, m_durationMinutesBrutto(0)
|
|
, m_price() {
|
|
}
|
|
|
|
Ticket::Ticket(QDateTime const &s, QDateTime const &e,
|
|
int durationMinutesNetto, int durationMinutesBrutto,
|
|
uint32_t price, Ticket::Status status)
|
|
: m_status(status)
|
|
, m_validFrom(s)
|
|
, m_validUntil(e)
|
|
, m_durationMinutesNetto(durationMinutesNetto)
|
|
, m_durationMinutesBrutto(durationMinutesBrutto)
|
|
, m_price(price) {
|
|
}
|
|
|
|
|
|
Ticket::Status Ticket::setStatus(Status status) {
|
|
Status old = m_status;
|
|
m_status = status;
|
|
return old;
|
|
}
|
|
|
|
Ticket::Status Ticket::getStatus() const {
|
|
return m_status;
|
|
}
|
|
|
|
void Ticket::setValidFrom(QDateTime const &validFrom) {
|
|
m_validFrom = validFrom;
|
|
}
|
|
|
|
void Ticket::setValidUntil(QDateTime const &validUntil) {
|
|
m_validUntil = validUntil;
|
|
}
|
|
|
|
QDateTime Ticket::getValidFrom() const {
|
|
if (std::get<CODE>(m_status) == VALID) {
|
|
return m_validFrom;
|
|
}
|
|
return QDateTime();
|
|
}
|
|
|
|
QDateTime Ticket::getValidUntil() const {
|
|
if (std::get<CODE>(m_status) == VALID) {
|
|
return m_validUntil;
|
|
}
|
|
return QDateTime();
|
|
}
|
|
|
|
uint32_t Ticket::getPrice() const {
|
|
return m_price;
|
|
}
|
|
|
|
void Ticket::setPrice(uint32_t price) {
|
|
m_price = price;
|
|
}
|
|
|
|
Ticket::operator QString() {
|
|
QStringList status;
|
|
status << QString("**********************");
|
|
status << QString("Status ............. : %1 (%2)")
|
|
.arg(std::get<0>(m_status))
|
|
.arg(std::get<2>(m_status));
|
|
status << QString("Valid from ......... : %1").arg(m_validFrom.toString(Qt::ISODate));
|
|
status << QString("Valid until ........ : %1").arg(m_validUntil.toString(Qt::ISODate));
|
|
status << QString("Duration (netto) ... : %1").arg(m_durationMinutesNetto);
|
|
status << QString("Duration (brutto)... : %1").arg(m_durationMinutesBrutto);
|
|
status << QString("Price .............. : %1").arg(m_price);
|
|
status << QString("**********************");
|
|
|
|
return status.join('\n');
|
|
}
|
|
|
|
QDebug operator<<(QDebug debug, Ticket::Status const &status) {
|
|
QDebugStateSaver saver(debug);
|
|
debug << "Ticket-Status: " << std::get<1>(status)
|
|
<< "(" << std::get<2>(status) << ")";
|
|
return debug;
|
|
}
|