Vesna
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
StateTicketIssue.h
Go to the documentation of this file.
1 #ifndef STATETICKETISSUE_H
2 #define STATETICKETISSUE_H
3 
4 #include "ApplicationState.h"
5 #include "appcore/ticketissuelogic/ETicketIssueLogicDefines.h"
6 
7 namespace EM
8 {
9  namespace Strojcek
10  {
11  namespace VstupneUdaje
12  {
13  namespace TarifnySystem
14  {
15  class ETarifa;
16  }
17  }
18  }
19 }
20 
22 
24 {
25  Q_OBJECT
26 public:
27 
28  virtual void OnEnter();
29  virtual void OnResume();
30  virtual void OnResume( const int32_t stateRequestCode, const int32_t stateResultCode, StorageList &storageList );
31  virtual void OnLeave();
32  virtual void OnSecondTick();
33 
34  // gps functionality
35  virtual void OnBusStopArrival( const int tripBusStopIndex, const GPSDefines::BusStopChangeType busStopChangeType );
36  virtual void OnBusStopDeparture( const int tripBusStopIndex, const GPSDefines::BusStopChangeType busStopChangeType );
37 
38  // panel functionality
39  virtual void OnPanelActionButtonClicked();
40  virtual void OnInformationButtonClicked();
41 
42  // card functionality
43  virtual void DataReceived();
44  virtual void OnCardOut();
45  virtual void OnCardIn( const std::string &cardUID );
46 
47  // barcode scanning functionality
48  virtual void OnBarcodeScanned( const QByteArray &barcode );
49  virtual void OnBarcodeProcessReceived( const EM::Devices::BarcodeDataMap &barcodeDataMap );
50 
51  // EMV Terminal functionality
52  virtual void OnEMVPaymentSuccesfull( unsigned long amount, QString cardNumber, QString cardBranch, QString approvalCode, QString serialNumber, QString terminalId, QString invoiceNumber );
53 
54  // slave functionality
55  virtual void OnSlaveConnected( long clientID );
56  virtual void OnSlavePassengerCheckedIn( long passengerCount );
57 
58  // automatic passengers counting functionality
59  virtual void OnAutomaticPassengerCountResultsArrived( const uint16_t boardingCount, const uint16_t alightingCount );
60  virtual void OnAutomaticPassengerCountResultsArrived( const uint8_t fullness, const uint16_t capacity, const uint16_t passengerCount, const QString &calculationTime, const uint32_t busStopID, const uint8_t busStopOrder );
61 
62  // network reply
63  virtual void OnNetworkReply( ApplicationDefines::NetworkRequestType networkRequestType, const QJsonDocument &replyData );
64 
65 public slots:
68  void OnSummaryFrameClicked();
69  void OnTariffPressedReleasedStateChange( bool isPressed );
70 
71 protected:
72  StateTicketIssue( const QString &stateName, ApplicationStateManager *stateManager );
73  virtual ~StateTicketIssue();
74 
75  void SetTicketIssueFormLogic( TicketIssueFormLogicInterface *ticketIssueFormLogic );
76 
77  void RefreshDepartureTimeAndDelay( const bool useNextBusStop = false );
78 
79  bool RecalculateAndShowPrice( const QList<EM::TicketIssueLogic::EIssueLogicDefines::PaymentType> paymentTypes, QStringList &priceTexts );
80  bool RecalculateAndShowPrice( const EM::TicketIssueLogic::EIssueLogicDefines::PaymentType primaryPaymentType, QStringList &priceTexts, const bool displayBothPrices = false );
81 
82  void TariffItemChanged( const int currentlySelectedRow );
83  void BusStopItemChanged( const int currentBusStopListRow, const int previousBusStopListRow );
84 
85  void SetSelectedTicketCount( const int selectedTicketCount );
88  EM::Strojcek::VstupneUdaje::TarifnySystem::ETarifa *GetSelectedTariff();
89  bool IsUrbanLine();
90 
93 
94  virtual void OnBusStopItemAdded( int butStopTripIndex, const QString &busStopTariffNumber, const QString &busStopName, const QString &busStopSpatialUnitNumber, const QString &busStopDepartureTime );
95  virtual void OnTariffItemAdded( const QString &tariffName , bool tariffHasAssignedHotKey, bool tariffHasAssignedHotKeyChipCard, const QString &tariffNumber );
96  virtual void OnBusStopItemVisibilityChanged( const int busStopTripIndex, const bool busStopVisibility );
97 
98  virtual void OnExtraOperationStart( QString message, long timeout, ApplicationStateDefines::MessageWindowType messageType );
99  virtual void OnExtraOperationFinish( QString message, long timeout, ApplicationStateDefines::MessageWindowType messageType );
100 
101  // text messages from dispatching functionality
102  virtual void OnReplyToTextMessageConfirmed( const QDateTime &messageTime, const QString &messageText, const uint32_t messageID );
103 
104  virtual bool IsOnLastTripBusStop();
105 
106 private:
107  class DataClass;
108  QScopedPointer<DataClass> d;
109 };
110 
111 #endif // STATETICKETISSUE_H
virtual void OnBusStopItemAdded(int butStopTripIndex, const QString &busStopTariffNumber, const QString &busStopName, const QString &busStopSpatialUnitNumber, const QString &busStopDepartureTime)
Definition: StateTicketIssue.cpp:2770
virtual void DataReceived()
Definition: StateTicketIssue.cpp:2051
virtual void OnBarcodeProcessReceived(const EM::Devices::BarcodeDataMap &barcodeDataMap)
Definition: StateTicketIssue.cpp:2122
void SetSelectedTicketCount(const int selectedTicketCount)
Definition: StateTicketIssue.cpp:2682
virtual void OnInformationButtonClicked()
Definition: StateTicketIssue.cpp:2190
virtual void OnResume()
Definition: StateTicketIssue.cpp:1732
Definition: ApplicationStateManager.h:43
void OnIssueCardButtonClicked()
Definition: StateTicketIssue.cpp:2265
void RefreshDepartureTimeAndDelay(const bool useNextBusStop=false)
Definition: StateTicketIssue.cpp:1529
Definition: ProjectConfiguration.h:11
virtual void OnTariffItemAdded(const QString &tariffName, bool tariffHasAssignedHotKey, bool tariffHasAssignedHotKeyChipCard, const QString &tariffNumber)
Definition: StateTicketIssue.cpp:2775
virtual void OnCardOut()
Definition: StateTicketIssue.cpp:2058
bool RecalculateAndShowPrice(const QList< EM::TicketIssueLogic::EIssueLogicDefines::PaymentType > paymentTypes, QStringList &priceTexts)
Definition: StateTicketIssue.cpp:2390
Definition: ApplicationState.h:33
Definition: TicketIssueFormLogicInterface.h:9
virtual void OnSecondTick()
Definition: StateTicketIssue.cpp:1965
void DecrementPassengerCount()
Definition: StateTicketIssue.cpp:2720
MessageWindowType
Definition: ApplicationStateDefines.h:165
virtual void OnBusStopArrival(const int tripBusStopIndex, const GPSDefines::BusStopChangeType busStopChangeType)
Definition: StateTicketIssue.cpp:1993
virtual void OnLeave()
Definition: StateTicketIssue.cpp:1953
void SetTicketIssueFormLogic(TicketIssueFormLogicInterface *ticketIssueFormLogic)
Definition: StateTicketIssue.cpp:1524
virtual void OnExtraOperationFinish(QString message, long timeout, ApplicationStateDefines::MessageWindowType messageType)
Definition: StateTicketIssue.cpp:2790
void BusStopItemChanged(const int currentBusStopListRow, const int previousBusStopListRow)
Definition: StateTicketIssue.cpp:2645
EM::Strojcek::VstupneUdaje::TarifnySystem::ETarifa * GetSelectedTariff()
Definition: StateTicketIssue.cpp:2692
int GetSelectedCheckoutBusStopTripIndex()
Definition: StateTicketIssue.cpp:2687
virtual void OnExtraOperationStart(QString message, long timeout, ApplicationStateDefines::MessageWindowType messageType)
Definition: StateTicketIssue.cpp:2784
virtual void OnBusStopDeparture(const int tripBusStopIndex, const GPSDefines::BusStopChangeType busStopChangeType)
Definition: StateTicketIssue.cpp:2027
void TariffItemChanged(const int currentlySelectedRow)
Definition: StateTicketIssue.cpp:2596
void OnTariffPressedReleasedStateChange(bool isPressed)
Definition: StateTicketIssue.cpp:2379
int GetSelectedTicketCount()
Definition: StateTicketIssue.cpp:2677
virtual void OnAutomaticPassengerCountResultsArrived(const uint16_t boardingCount, const uint16_t alightingCount)
Definition: StateTicketIssue.cpp:2155
NetworkRequestType
Definition: ApplicationDefines.h:254
virtual ~StateTicketIssue()
Definition: StateTicketIssue.cpp:1520
Definition: StateTicketIssue.cpp:143
virtual void OnCardIn(const std::string &cardUID)
Definition: StateTicketIssue.cpp:2065
void OnIssueCashButtonClicked()
Definition: StateTicketIssue.cpp:2195
virtual void OnReplyToTextMessageConfirmed(const QDateTime &messageTime, const QString &messageText, const uint32_t messageID)
Definition: StateTicketIssue.cpp:2742
Definition: AutomaticCardHandlingBusinessLogic.h:6
void IncrementPassengerCount()
Definition: StateTicketIssue.cpp:2702
virtual void OnPanelActionButtonClicked()
Definition: StateTicketIssue.cpp:2038
virtual void OnEMVPaymentSuccesfull(unsigned long amount, QString cardNumber, QString cardBranch, QString approvalCode, QString serialNumber, QString terminalId, QString invoiceNumber)
Definition: StateTicketIssue.cpp:2135
bool IsUrbanLine()
Definition: StateTicketIssue.cpp:2697
virtual void OnSlaveConnected(long clientID)
Definition: StateTicketIssue.cpp:2143
virtual bool IsOnLastTripBusStop()
Definition: StateTicketIssue.cpp:2765
virtual void OnSlavePassengerCheckedIn(long passengerCount)
Definition: StateTicketIssue.cpp:2148
void OnSummaryFrameClicked()
Definition: StateTicketIssue.cpp:2373
StateTicketIssue(const QString &stateName, ApplicationStateManager *stateManager)
Definition: StateTicketIssue.cpp:1512
virtual void OnNetworkReply(ApplicationDefines::NetworkRequestType networkRequestType, const QJsonDocument &replyData)
Definition: StateTicketIssue.cpp:2169
Definition: StateTicketIssue.h:23
virtual void OnEnter()
Definition: StateTicketIssue.cpp:1579
virtual void OnBarcodeScanned(const QByteArray &barcode)
Definition: StateTicketIssue.cpp:2093
virtual void OnBusStopItemVisibilityChanged(const int busStopTripIndex, const bool busStopVisibility)
Definition: StateTicketIssue.cpp:2780
BusStopChangeType
Definition: GPSDefines.h:30