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#include "core/common/eqtcompatible.h"
9#include "core/common/PriceListRowPreferenceByTimeValidity.h"
10
11#define E_TICKET_ISSUE_LOGIC "ETicketIssueLogic"
12
13class EHead;
14class QString;
15
16namespace EM
17{
18 namespace Strojcek
19 {
20 namespace VstupneUdaje
21 {
22 namespace CestovnePoriadky
23 {
24 class ELinka;
25 class ESpoj;
26 }
27
28 namespace TarifnySystem
29 {
30 class ETarifa;
31 class ETarifnaSkupina;
32 }
33
34 class EPrestupSpoj;
35 }
36 }
37 namespace PT
38 {
39 class EDataCollection;
40 }
41
42 namespace TicketIssueLogic
43 {
44 class ETicketIssueLogicDataStorage;
45 class EIssueLogicStatistic;
46 class EIssueLogicCommonFuncionality;
47 class EIssueLogicPrint;
48 class ETicketIssueModule;
49 class EFellowTraveller;
50 class ETicketIssueLogicOutputData;
51#if defined(I386) || defined(X86_64)
52 class TicketIssueLogicTestWrapper;
53 class EGeneralTicketIssueLogicTestWrapper;
54#endif
55 class DLL_API ETicketIssueLogic : public ETicketIssueLogicInterface
56 {
57#if defined(I386) || defined(X86_64)
58 friend class TicketIssueLogicTestWrapper;
59 friend class EGeneralTicketIssueLogicTestWrapper;
60#endif
62
63 class DataClass;
64 ETicketIssueLogic::DataClass *d;
65
67 public:
70
71 virtual std::string GetName( );
72
73 virtual EIssueLogicDefines::ReturnValues IssueTicket( EM::PT::EDataCollection *&writeRequest );
75 virtual EIssueLogicDefines::ReturnValues Print( const bool asynchronousPrinting = false );
76 virtual EIssueLogicDefines::ReturnValues PrintLastTicketCopy( const bool asynchronousPrinting = false );
77 virtual EIssueLogicDefines::ReturnValues WriteStatistic( bool unfinishedOperation = false );
79 virtual EIssueLogicDefines::ReturnValues CalculatePrice( long &calculatedPrice, double &calculatedPriceDecimalFormat );
81
89
90 bool ReInit( const Strojcek::VstupneUdaje::CestovnePoriadky::ELinka *actualLine, const Strojcek::VstupneUdaje::CestovnePoriadky::ESpoj *actualTrip );
91
95 bool SetTariff( const Strojcek::VstupneUdaje::TarifnySystem::ETarifa *tariff );
96 bool SetTariffGroup( const Strojcek::VstupneUdaje::TarifnySystem::ETarifnaSkupina *tariffGroup );
97 bool SetTripOrderCheckinBusStop( long tripCheckinBusStopOrder );
98 bool SetTripOrderCheckoutBusStop( long tripCheckoutBusStopOrder );
99 bool SetTripOrderOfBusStopForCheckOut( long tripOrderOfBusStopForCheckOut );
100 bool SetCreditRecharge( unsigned long creditRecharge );
101 bool SetTicketCount( short ticketCount );
102 bool SetCancelationStatisticTicketNumber( const long cancelationStatisticTicketNumber );
103 bool SetDeviceSerialNumber( unsigned long serialNumber );
104 bool SetDeviceOrderNumber( unsigned long orderNumber );
105 bool SetAdvertisementEnabled( bool enableAdvertisement );
106 void SetCrossTransfer( const Strojcek::VstupneUdaje::EPrestupSpoj &crossTransfer );
107 bool SetMultipleTickets( const EHead *multipleTicketsCol );
108 bool SetCheckInZone( long checkInZone );
109 bool SetCheckOutZone( long checkOutZone );
110 bool SetZoneList( const std::list<unsigned long> &zoneList );
111 bool SetAdditionalZones( const std::list<unsigned long> &additionalZones );
112 bool SetCheckOutZoneBusStopID( unsigned long checkOutZoneBusStopID );
113 bool SetCheckInZoneBusStopID( unsigned long checkInZoneBusStopID );
114 bool SetDestinationZoneNumber( unsigned long zoneNumber );
115 bool SetDestinationSubZoneNumber( unsigned short subZoneNumber );
116 bool SetPassNumber( unsigned long passNumber );
117 bool SetPriceListRow( unsigned short priceListRow );
118 bool SetFlagShowConfirmationMessageOnPortableEP( bool showConfirmationMessage );
119 bool SetFlagAllowIssueOnPortableEP( bool allowIssueOnPortableCard );
122 bool SetFlagRepeatedCheckIn( bool repeatedCheckIn );
123 bool SetFlagExplicitlySelectedTariff( bool explicitlySelectedTariff );
124 bool SetCardWriteOperations( unsigned long cardWriteOperations );
125 bool SetTimeTicketCounter( unsigned char timeTicketCounter );
127 bool GetOutputDataCollection( std::vector<const ETicketIssueLogicOutputData *> *&ticketIssueOutputData );
128 bool SetAlternativeTripData( unsigned long lineNumber, unsigned long tripNumber, long protectNumber, long lastBusStopTripOrder );
129 bool SetServiceCounter( unsigned char serviceCounter );
130 bool SetPaperTicketID( long long paperTicketID );
131 bool SetUnpaidExpenseData( long receivedCashPayment, long ticketsPrice );
132 bool SetFlagForceNewOneWayTicket( bool forceNewOneWayTicket );
133 bool SetFlagUseValidTimeTicketsInPriceCalculation( bool flagUseValidTimeTicketsInPriceCalculation );
134 bool SetPriceListRowPreferenceByTimeValidity( const PriceListRowPreferenceByTimeValidity priceListRowPreferenceByTimeValidity );
135 bool SetFlagUsePriceListRowFromFirstSegmentOnEverySegment( bool usePriceListRowFromFirstSegmentOnEverySegment );
136 bool SetRegionalCodeForPriceCalculation( unsigned long regionalDiscountCodeForPriceCalculation );
137 bool SetExplicitlySelectedZonesToPay( const std::list<unsigned long> &zonesToPay );
138 bool SetFlagCheckValidTimeTicketForExplicitlySelectedZones( const bool flagCheckValidTimeTicketForExplicitlySelectedZones );
140 bool SetEMVPaymentTransactionData( QString emvCardNumber, QString emvCardBranch, QString emvApprovalCode, QString emvSerialNumber, QString emvTerminalId, QString emvInvoiceNumber );
141 bool SetFlagIgnoreAcceptanceTimeTickets( bool ignoreTimeTicketsInManualIssue );
142 bool SetFlagPrintInterchangeTicket( bool flagPrintInterchangeTicket );
143 bool SetFlagIgnoreAcceptanceOfOneWayTicketsWithTimeValidity( bool ignoreAcceptanceOfOneWayTicketsWithTimeValidity );
144
150 EIssueLogicDefines::ReturnValues CheckCardValidity( const unsigned long &dateToCheckValidity ) const;
151
152#if !defined(EMTEST_XSCALE)
153 QStringList GetTicketIssueInfoLog() const;
154#endif
155
156 protected:
158 virtual EIssueLogicDefines::ReturnValues IssueTicketChipCard( EM::PT::EDataCollection *&writeRequest );
163
165 };
166 }
167
168}
169
170#endif // E_TICKET_ISSUE_LOGIC_H
#define DLL_API
Definition ECardFacadeDefines.h:8
TransferForAllTicketsOnCard
Definition ETicketIssueLogicDefines.h:283
OneWayTicketCardPositioning
Definition ETicketIssueLogicDefines.h:297
IssueType
Definition ETicketIssueLogicDefines.h:260
OperationType
Definition ETicketIssueLogicDefines.h:185
PaymentType
Definition ETicketIssueLogicDefines.h:165
ReturnValues
Definition ETicketIssueLogicDefines.h:51
ProlongTicketsTimeValidity
Definition ETicketIssueLogicDefines.h:290
Definition ETicketIssueLogicDataStorage.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 SetPriceListRowPreferenceByTimeValidity(const PriceListRowPreferenceByTimeValidity priceListRowPreferenceByTimeValidity)
bool SetFlagShowConfirmationMessageOnPortableEP(bool showConfirmationMessage)
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 SetFlagCheckValidTimeTicketForExplicitlySelectedZones(const bool flagCheckValidTimeTicketForExplicitlySelectedZones)
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 SetExplicitlySelectedZonesToPay(const std::list< unsigned long > &zonesToPay)
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)
SYSTEM INCLUDES.
Definition CardFacadeManagerXML.h:7