AppCore
Loading...
Searching...
No Matches
ETicketIssueLogic.h
Go to the documentation of this file.
1#ifndef E_TICKET_ISSUE_LOGIC_H
2#define E_TICKET_ISSUE_LOGIC_H
3
4#include <vector>
5#include <list>
6
7#include "appcore/ticketissuelogic/ETicketIssueLogicInterface.h"
8
9#define E_TICKET_ISSUE_LOGIC "ETicketIssueLogic"
10
11class EHead;
12class QString;
13class QStringList;
14
15namespace EM
16{
17 namespace Strojcek
18 {
19 namespace VstupneUdaje
20 {
21 namespace CestovnePoriadky
22 {
23 class ELinka;
24 class ESpoj;
25 }
26
27 namespace TarifnySystem
28 {
29 class ETarifa;
30 class ETarifnaSkupina;
31 }
32
33 class EPrestupSpoj;
34 }
35 }
36 namespace PT
37 {
38 class EDataCollection;
39 }
40
41 namespace TicketIssueLogic
42 {
43 class ETicketIssueLogicDataStorage;
44 class EIssueLogicStatistic;
45 class EIssueLogicCommonFuncionality;
46 class EIssueLogicPrint;
47 class ETicketIssueModule;
48 class EFellowTraveller;
49 class ETicketIssueLogicOutputData;
50#if defined(I386) || defined(X86_64)
51 class TicketIssueLogicTestWrapper;
52 class EGeneralTicketIssueLogicTestWrapper;
53#endif
55 {
56#if defined(I386) || defined(X86_64)
57 friend class TicketIssueLogicTestWrapper;
59#endif
61
62 class DataClass;
63 ETicketIssueLogic::DataClass *d;
64
66 public:
69
70 virtual std::string GetName( );
71
72 virtual EIssueLogicDefines::ReturnValues IssueTicket( EM::PT::EDataCollection *&writeRequest );
74 virtual EIssueLogicDefines::ReturnValues Print( const bool asynchronousPrinting = false );
75 virtual EIssueLogicDefines::ReturnValues PrintLastTicketCopy( const bool asynchronousPrinting = false );
76 virtual EIssueLogicDefines::ReturnValues WriteStatistic( bool unfinishedOperation = false );
78 virtual EIssueLogicDefines::ReturnValues CalculatePrice( long &calculatedPrice, double &calculatedPriceDecimalFormat );
80
88
89 bool ReInit( const Strojcek::VstupneUdaje::CestovnePoriadky::ELinka *actualLine, const Strojcek::VstupneUdaje::CestovnePoriadky::ESpoj *actualTrip );
90
94 bool SetTariff( const Strojcek::VstupneUdaje::TarifnySystem::ETarifa *tariff );
95 bool SetTariffGroup( const Strojcek::VstupneUdaje::TarifnySystem::ETarifnaSkupina *tariffGroup );
96 bool SetTripOrderCheckinBusStop( long tripCheckinBusStopOrder );
97 bool SetTripOrderCheckoutBusStop( long tripCheckoutBusStopOrder );
98 bool SetTripOrderOfBusStopForCheckOut( long tripOrderOfBusStopForCheckOut );
99 bool SetCreditRecharge( unsigned long creditRecharge );
100 bool SetTicketCount( short ticketCount );
101 bool SetCancelationStatisticTicketNumber( const long cancelationStatisticTicketNumber );
102 bool SetDeviceSerialNumber( unsigned long serialNumber );
103 bool SetDeviceOrderNumber( unsigned long orderNumber );
104 bool SetAdvertisementEnabled( bool enableAdvertisement );
105 void SetCrossTransfer( const Strojcek::VstupneUdaje::EPrestupSpoj &crossTransfer );
106 bool SetMultipleTickets( const EHead *multipleTicketsCol );
107 bool SetCheckInZone( long checkInZone );
108 bool SetCheckOutZone( long checkOutZone );
109 bool SetZoneList( const std::list<unsigned long> &zoneList );
110 bool SetAdditionalZones( const std::list<unsigned long> &additionalZones );
111 bool SetCheckOutZoneBusStopID( unsigned long checkOutZoneBusStopID );
112 bool SetCheckInZoneBusStopID( unsigned long checkInZoneBusStopID );
113 bool SetDestinationZoneNumber( unsigned long zoneNumber );
114 bool SetDestinationSubZoneNumber( unsigned short subZoneNumber );
115 bool SetPassNumber( unsigned long passNumber );
116 bool SetPriceListRow( unsigned short priceListRow );
117 bool SetFlagShowConfirmationMessageOnPortableEP( bool showConfirmationMessage );
118 bool SetFlagAllowIssueOnPortableEP( bool allowIssueOnPortableCard );
121 bool SetFlagRepeatedCheckIn( bool repeatedCheckIn );
122 bool SetFlagExplicitlySelectedTariff( bool explicitlySelectedTariff );
123 bool SetCardWriteOperations( unsigned long cardWriteOperations );
124 bool SetTimeTicketCounter( unsigned char timeTicketCounter );
126 bool GetOutputDataCollection( std::vector<const ETicketIssueLogicOutputData *> *&ticketIssueOutputData );
127 bool SetAlternativeTripData( unsigned long lineNumber, unsigned long tripNumber, long protectNumber, long lastBusStopTripOrder );
128 bool SetServiceCounter( unsigned char serviceCounter );
129 bool SetPaperTicketID( long long paperTicketID );
130 bool SetUnpaidExpenseData( long receivedCashPayment, long ticketsPrice );
131 bool SetFlagForceNewOneWayTicket( bool forceNewOneWayTicket );
132 bool SetFlagUseValidTimeTicketsInPriceCalculation( bool flagUseValidTimeTicketsInPriceCalculation );
133 bool SetFlagUsePriceListRowWithLongestTimeValidity( bool usePriceListRowWithLongestTimeValidity );
134 bool SetFlagUsePriceListRowFromFirstSegmentOnEverySegment( bool usePriceListRowFromFirstSegmentOnEverySegment );
135 bool SetRegionalCodeForPriceCalculation( unsigned long regionalDiscountCodeForPriceCalculation );
136 bool SetFlagUseUrbanZonesAsTravelledZones( bool flagUseUrbanZonesAsTravelledZones );
138 bool SetEMVPaymentTransactionData( QString emvCardNumber, QString emvCardBranch, QString emvApprovalCode, QString emvSerialNumber, QString emvTerminalId, QString emvInvoiceNumber );
139 bool SetFlagIgnoreAcceptanceTimeTickets( bool ignoreTimeTicketsInManualIssue );
140 bool SetFlagPrintInterchangeTicket( bool flagPrintInterchangeTicket );
141 bool SetFlagIgnoreAcceptanceOfOneWayTicketsWithTimeValidity( bool ignoreAcceptanceOfOneWayTicketsWithTimeValidity );
142
148 EIssueLogicDefines::ReturnValues CheckCardValidity( const unsigned long &dateToCheckValidity ) const;
149
150 QStringList GetTicketIssueInfoLog() const;
151
152 protected:
154 virtual EIssueLogicDefines::ReturnValues IssueTicketChipCard( EM::PT::EDataCollection *&writeRequest );
159
161 };
162 }
163
164}
165
166#endif // E_TICKET_ISSUE_LOGIC_H
#define DLL_API
Definition ECardFacadeDefines.h:8
Definition EGeneralTicketIssueLogicTestWrapper.h:47
TransferForAllTicketsOnCard
Definition ETicketIssueLogicDefines.h:279
OneWayTicketCardPositioning
Definition ETicketIssueLogicDefines.h:293
IssueType
Definition ETicketIssueLogicDefines.h:256
OperationType
Definition ETicketIssueLogicDefines.h:181
PaymentType
Definition ETicketIssueLogicDefines.h:161
ReturnValues
Definition ETicketIssueLogicDefines.h:50
ProlongTicketsTimeValidity
Definition ETicketIssueLogicDefines.h:286
Definition ETicketIssueLogicDataStorage.h:52
Definition ETicketIssueLogicInterface.h:37
Definition ETicketIssueLogic.h:55
virtual EIssueLogicDefines::ReturnValues Init()
bool SetTariff(const Strojcek::VstupneUdaje::TarifnySystem::ETarifa *tariff)
bool SetEMVPaymentTransactionData(QString emvCardNumber, QString emvCardBranch, QString emvApprovalCode, QString emvSerialNumber, QString emvTerminalId, QString emvInvoiceNumber)
virtual EIssueLogicDefines::ReturnValues TryToRoundCashPrice(long &priceToRound)
bool SetTicketCount(short ticketCount)
bool SetUnpaidExpenseData(long receivedCashPayment, long ticketsPrice)
virtual EIssueLogicDefines::ReturnValues IssueTicketMarker()
EIssueLogicDefines::ReturnValues CheckCardMediumForDestinationSubZoneUsage()
bool SetFlagExplicitlySelectedTariff(bool explicitlySelectedTariff)
bool SetFlagForceNewOneWayTicket(bool forceNewOneWayTicket)
EIssueLogicDefines::ReturnValues CheckBusStopCountryCardPaymentAllowance()
virtual EIssueLogicDefines::ReturnValues InitModules()
bool SetFlagUseValidTimeTicketsInPriceCalculation(bool flagUseValidTimeTicketsInPriceCalculation)
EIssueLogicDefines::ReturnValues PerformBasicCardChecks()
Check basic parameters of card (if the card is blocked, sold, if common and OWT transport sections ar...
bool SetMultipleTickets(const EHead *multipleTicketsCol)
EIssueLogicDefines::ReturnValues CheckCardValidity(const unsigned long &dateToCheckValidity) const
ETicketIssueLogic::CheckCardValidity - checks if card is expired or not.
bool SetFlagAllowIssueOnPortableEP(bool allowIssueOnPortableCard)
virtual EIssueLogicDefines::ReturnValues PrintLastTicketCopy(const bool asynchronousPrinting=false)
bool SetIssueType(EIssueLogicDefines::IssueType issueType)
bool SetCheckInZone(long checkInZone)
void SetCrossTransfer(const Strojcek::VstupneUdaje::EPrestupSpoj &crossTransfer)
bool SetPaperTicketID(long long paperTicketID)
bool SetCheckInZoneBusStopID(unsigned long checkInZoneBusStopID)
virtual EIssueLogicDefines::ReturnValues WriteStatistic(bool unfinishedOperation=false)
bool SetFlagIgnoreAcceptanceOfOneWayTicketsWithTimeValidity(bool ignoreAcceptanceOfOneWayTicketsWithTimeValidity)
bool SetFlagIgnoreAcceptanceTimeTickets(bool ignoreTimeTicketsInManualIssue)
bool SetDestinationSubZoneNumber(unsigned short subZoneNumber)
bool SetRegionalCodeForPriceCalculation(unsigned long regionalDiscountCodeForPriceCalculation)
virtual EIssueLogicDefines::ReturnValues LoadModules()
bool SetTripOrderCheckinBusStop(long tripCheckinBusStopOrder)
ETicketIssueLogicDataStorage * GetDataStorage()
bool SetDeviceSerialNumber(unsigned long serialNumber)
bool SetFlagProlongTicketsTimeValidity(EIssueLogicDefines::ProlongTicketsTimeValidity prolongTicketTimeValidity)
bool SetCreditRecharge(unsigned long creditRecharge)
bool SetFlagShowConfirmationMessageOnPortableEP(bool showConfirmationMessage)
bool SetFlagUsePriceListRowWithLongestTimeValidity(bool usePriceListRowWithLongestTimeValidity)
bool SetFlagUsePriceListRowFromFirstSegmentOnEverySegment(bool usePriceListRowFromFirstSegmentOnEverySegment)
virtual EIssueLogicDefines::ReturnValues AddCardWriteAnswerData()
bool GetOutputDataCollection(std::vector< const ETicketIssueLogicOutputData * > *&ticketIssueOutputData)
virtual EIssueLogicDefines::ReturnValues CalculatePrice(long &calculatedPrice, double &calculatedPriceDecimalFormat)
bool SetCheckOutZone(long checkOutZone)
bool SetAdvertisementEnabled(bool enableAdvertisement)
bool SetFlagRepeatedCheckIn(bool repeatedCheckIn)
bool SetPaymentType(EIssueLogicDefines::PaymentType paymentType)
bool SetCancelationStatisticTicketNumber(const long cancelationStatisticTicketNumber)
virtual EIssueLogicDefines::ReturnValues IssueTicket(EM::PT::EDataCollection *&writeRequest)
bool SetAdditionalZones(const std::list< unsigned long > &additionalZones)
bool SetOperationType(EIssueLogicDefines::OperationType operationType)
bool SetFlagTransferForAllTicketsOnCard(EIssueLogicDefines::TransferForAllTicketsOnCard transferForAllTicketsOnCard)
bool SetOneWayTicketCardPositioning(EIssueLogicDefines::OneWayTicketCardPositioning positioning)
bool SetServiceCounter(unsigned char serviceCounter)
virtual EIssueLogicDefines::ReturnValues CancelTicket()
bool SetDeviceOrderNumber(unsigned long orderNumber)
bool SetAlternativeTripData(unsigned long lineNumber, unsigned long tripNumber, long protectNumber, long lastBusStopTripOrder)
bool SetZoneList(const std::list< unsigned long > &zoneList)
bool SetCheckOutZoneBusStopID(unsigned long checkOutZoneBusStopID)
bool ReInit(const Strojcek::VstupneUdaje::CestovnePoriadky::ELinka *actualLine, const Strojcek::VstupneUdaje::CestovnePoriadky::ESpoj *actualTrip)
bool SetTimeTicketCounter(unsigned char timeTicketCounter)
bool SetDestinationZoneNumber(unsigned long zoneNumber)
bool SetPriceListRow(unsigned short priceListRow)
virtual EIssueLogicDefines::ReturnValues Print(const bool asynchronousPrinting=false)
bool SetFlagDontCheckTimeValidityWhileCalculationLastValidBusStop(bool dontCheckTimeValidity)
bool SetTariffGroup(const Strojcek::VstupneUdaje::TarifnySystem::ETarifnaSkupina *tariffGroup)
bool SetTripOrderCheckoutBusStop(long tripCheckoutBusStopOrder)
bool SetPassNumber(unsigned long passNumber)
virtual EIssueLogicDefines::ReturnValues IssueTicketCash()
bool SetCardWriteOperations(unsigned long cardWriteOperations)
virtual EIssueLogicDefines::ReturnValues IssueTicketChipCard(EM::PT::EDataCollection *&writeRequest)
bool SetTripOrderOfBusStopForCheckOut(long tripOrderOfBusStopForCheckOut)
bool SetFlagPrintInterchangeTicket(bool flagPrintInterchangeTicket)
bool SetFlagUseUrbanZonesAsTravelledZones(bool flagUseUrbanZonesAsTravelledZones)
Definition TicketIssueLogicTestWrapper.h:48
SYSTEM INCLUDES.
Definition CardFacadeManagerXML.h:7