AppCore
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
ECommonFunctionalityModule.h
Go to the documentation of this file.
1 #ifndef ECommonFunctionalityModule_H
2 #define ECommonFunctionalityModule_H
3 
4 #include <vector>
5 #include <list>
6 #include "appcore/cardfacade/ECardFacadeDefines.h"
7 #include "ETicketIssueModule.h"
9 
10 namespace EM
11 {
12  namespace Strojcek
13  {
14  namespace VstupneUdaje
15  {
16  struct _VSTUPNA_STRUKTURA;
17 
18  namespace TarifnySystem
19  {
20  class ETarifa;
21  class ETarifnaSkupina;
22  }
23  }
24  }
25 
26  namespace TicketIssueLogic
27  {
28  class ETicketIssueLogic;
29  class ETicketIssueLogicDataStorage;
30  class IssuedTicket;
31  class IssuedTicketSegment;
32  class DataForPriceCalculation;
33 
38  {
40 
44  class DataClass;
45  DataClass *d;
46 
48 
49  public:
56  ECommonFunctionalityModule( ETicketIssueLogic *ticketIssueLogic, ETicketIssueLogicDataStorage *dataStorage, std::string moduleName = E_COMMON_FUNCTIONALITY_MODUL_NAME );
57 
62 
70 
80  virtual EIssueLogicDefines::ReturnValues CheckTicketValidity( bool &isTicketValid, bool &ticketOnTimeTicket, signed char ticketIndex = 0 );
81 
88 
89 
97  virtual EIssueLogicDefines::ReturnValues IsStayOnLastBusStop( bool &stayOnLastBusStop );
98 
99 
119 
120 
126  virtual EIssueLogicDefines::ReturnValues PrepareIssueDataFromCard( unsigned char ticketIndex );
127 
128 
137  virtual EIssueLogicDefines::ReturnValues PrepareAutoIssueCommonData( Strojcek::VstupneUdaje::TarifnySystem::ETarifa *tariff, Strojcek::VstupneUdaje::TarifnySystem::ETarifnaSkupina *&tariffGroup );
138 
139 
147  virtual EIssueLogicDefines::ReturnValues ClearFlagsWasPurchased( unsigned char startingTicketIndex );
148 
149 
161  virtual EIssueLogicDefines::ReturnValues ClearOneWayTickets( unsigned char ticketIndex );
162 
163 
169 
178  virtual EIssueLogicDefines::ReturnValues CheckTicketCount( long ticketIndex = -1 );
179 
180 
189  EIssueLogicDefines::ReturnValues GetBusStopID( unsigned long &checkInBusStopID, unsigned long &checkOutBusStopID );
190 
191 
197  virtual EIssueLogicDefines::ReturnValues OwnerHasFellowTravelers( bool &ownerHasFellowTravelers );
198 
199 
204 
210  virtual EIssueLogicDefines::ReturnValues GetFellowTravelersCount( unsigned long &fellowTravelerCount );
211 
219  virtual EIssueLogicDefines::ReturnValues IsPossibleSellTicket( bool &isTicketValid );
220 
221 
230 
231 
238  EIssueLogicDefines::ReturnValues IsProcessingJourneyOnTimeTicket( bool &journeyOnTimeTicket, IssuedTicketSegment *issuedTicketSegment = NULL );
239 
240 
253  virtual EIssueLogicDefines::ReturnValues IsCardTypeMatchingTariffDiscount( Strojcek::VstupneUdaje::TarifnySystem::ETarifa *tariff, bool &cardTypeMatching, bool checkTimeTicketDiscount , unsigned char customerProfileIndex );
254 
255 
264  virtual EIssueLogicDefines::ReturnValues FillAdditionalDataCalculatePrice( const DataForPriceCalculation &dataForPriceCalculation, Strojcek::VstupneUdaje::_VSTUPNA_STRUKTURA &inputDataCalculatePrice );
265 
272  EIssueLogicDefines::ReturnValues IsCardCompanyNumberAccepted( std::vector<short> acceptedCompanyNumbers, bool &isAccepted ) const;
273 
280  virtual bool CheckMaxAgeForDiscount( unsigned char customerProfileIndex, bool timeTicket, bool &isDiscountAllowed );
281 
289 
297  EIssueLogicDefines::ReturnValues CheckTicketLineTripValidity( unsigned char ticketIndex, bool &isTicketValid );
298 
306  EIssueLogicDefines::ReturnValues CheckTicketLineTripBusStopValidity( unsigned char ticketIndex, bool &isTicketValid );
307 
308  protected:
309 
319 
320 
328  virtual EIssueLogicDefines::ReturnValues PrepareTimeTicketData( Strojcek::VstupneUdaje::TarifnySystem::ETarifa *&tariff, short validTimeTicketIndex );
329 
330 
338  virtual EIssueLogicDefines::ReturnValues PrepareCashTicketData( Strojcek::VstupneUdaje::TarifnySystem::ETarifa *&tariff, unsigned char customerProfileIndex );
339 
340 
349 
350 
359  virtual EIssueLogicDefines::ReturnValues PrepareTariffDataForAutoIssue( IssuedTicketSegment *issuedTicketSegment );
360 
374  virtual EIssueLogicDefines::ReturnValues GetFirstCustomerProfileValidByTariff( IssuedTicketSegment *issuedTicketSegment, unsigned char &usedCustomerProfile );
375 
376 
383  virtual EIssueLogicDefines::ReturnValues GetFirstCustomerProfileValidByTimeTicketTariff( IssuedTicketSegment *issuedTicketSegment, unsigned char &usedCustomerProfile );
384 
385 
392  virtual EIssueLogicDefines::ReturnValues GetFirstCustomerProfileValidByOneWayTicketTariff( IssuedTicketSegment *issuedTicketSegment, unsigned char &usedCustomerProfile );
393 
394 
411  virtual EIssueLogicDefines::ReturnValues EvaluateCardTypeMatch( bool cardTypeMatching );
412 
413 
422  virtual EIssueLogicDefines::ReturnValues PrepareTariffDataBySubstituteTariffGroups( IssuedTicketSegment *issuedTicketSegment );
423 
424 
435  virtual EIssueLogicDefines::ReturnValues PrepareSubstituteTariffGroup( IssuedTicketSegment *issuedTicketSegment, Strojcek::VstupneUdaje::TarifnySystem::ETarifa *tariff, Strojcek::VstupneUdaje::TarifnySystem::ETarifnaSkupina *tariffGroup );
436 
437 
449  virtual EIssueLogicDefines::ReturnValues PrepareTariffDataFromSubstituteTariffGroup( IssuedTicketSegment *issuedTicketSegment, Strojcek::VstupneUdaje::TarifnySystem::ETarifnaSkupina *tariffGroup , Strojcek::VstupneUdaje::TarifnySystem::ETarifa *manualSelectedtariff );
450 
451  EIssueLogicDefines::ReturnValues PrepareTariffDataForManualIssue( IssuedTicketSegment *issuedTicketSegment );
452 
457 
458 
466 
467  EIssueLogicDefines::ReturnValues FillIssuedTicketSegmentSpatialUnits( const EIssueLogicDefines::PriceComputeUnit priceComputeUnit, IssuedTicketSegment *issuedTicketSegment );
468  };
469  }
470 }
471 
472 #endif // ECommonFunctionalityModule_H
Definition: ECalculatePriceModuleInterface.h:19
EIssueLogicDefines::ReturnValues SetNetworkWideFlag(IssuedTicket *issuedTicket)
Sets network wide flag by price list type.
Definition: ECommonFunctionalityModule.cpp:4161
EIssueLogicDefines::ReturnValues IsCardCompanyNumberAccepted(std::vector< short > acceptedCompanyNumbers, bool &isAccepted) const
Retrieves card company number from read facade and chcecks whether it's contained in the accepted com...
Definition: ECommonFunctionalityModule.cpp:3164
Definition: ETicketIssueLogic.h:54
virtual EIssueLogicDefines::ReturnValues OwnerHasFellowTravelers(bool &ownerHasFellowTravelers)
Definition: ECommonFunctionalityModule.cpp:4065
virtual EIssueLogicDefines::ReturnValues GetNumberOfUsedFellowTravellersIndexesOnCard(unsigned char &ticketCont)
Definition: ECommonFunctionalityModule.cpp:4087
virtual EIssueLogicDefines::ReturnValues PrepareMarkerIssueData(IssuedTicketSegment *IssuedTicketSegment)
Function sets tariff by tariff group from data storage for marker issue.
Definition: ECommonFunctionalityModule.cpp:2722
virtual EIssueLogicDefines::ReturnValues PrepareTariffDataForAutoIssue(IssuedTicketSegment *issuedTicketSegment)
Function prepares data for auto issue.
Definition: ECommonFunctionalityModule.cpp:2818
virtual EIssueLogicDefines::ReturnValues GetFirstCustomerProfileValidByTimeTicketTariff(IssuedTicketSegment *issuedTicketSegment, unsigned char &usedCustomerProfile)
Function checks tariff discount type with issuing tariff discount.
Definition: ECommonFunctionalityModule.cpp:3547
EIssueLogicDefines::ReturnValues EvaluateCardNetworkWithTariffNetwork(bool &matchingNetwork)
EEventTripTicketPr __EDATAPTR d
Definition: EEventTripTicket.h:96
EIssueLogicDefines::ReturnValues PrepareTariffDataForManualIssue(IssuedTicketSegment *issuedTicketSegment)
Definition: ECommonFunctionalityModule.cpp:3912
virtual EIssueLogicDefines::ReturnValues FillAdditionalDataCalculatePrice(const DataForPriceCalculation &dataForPriceCalculation, Strojcek::VstupneUdaje::_VSTUPNA_STRUKTURA &inputDataCalculatePrice)
Function set to inputDataCalculatePrice nothing.
Definition: ECommonFunctionalityModule.cpp:3150
EIssueLogicDefines::ReturnValues GetBusStopID(unsigned long &checkInBusStopID, unsigned long &checkOutBusStopID)
Function prepare bus stop ID by priceList type.
Definition: ECommonFunctionalityModule.cpp:3200
virtual EIssueLogicDefines::ReturnValues PrepareAutoIssueCommonData(Strojcek::VstupneUdaje::TarifnySystem::ETarifa *tariff, Strojcek::VstupneUdaje::TarifnySystem::ETarifnaSkupina *&tariffGroup)
Function save common data( tariff, tariffGroup, tariffGroupTariff ) by tariffGroupNumber to data stor...
Definition: ECommonFunctionalityModule.cpp:2532
Definition: IssuedTicketSegment.h:28
virtual ~ECommonFunctionalityModule()
standard c++ destructor, destroy data class
Definition: ECommonFunctionalityModule.cpp:1559
virtual EIssueLogicDefines::ReturnValues PrepareTariffDataFromSubstituteTariffGroup(IssuedTicketSegment *issuedTicketSegment, Strojcek::VstupneUdaje::TarifnySystem::ETarifnaSkupina *tariffGroup, Strojcek::VstupneUdaje::TarifnySystem::ETarifa *manualSelectedtariff)
PrepareTariffFromSubstituteTariffGroup - Function finds substitute tariff group by domestic currency ...
Definition: ECommonFunctionalityModule.cpp:3854
virtual EIssueLogicDefines::ReturnValues IsPossibleSellTicket(bool &isTicketValid)
IsPossibleSellTicket - function check ticket validity and owner ticket validity.
Definition: ECommonFunctionalityModule.cpp:3243
virtual EIssueLogicDefines::ReturnValues PrepareIssueDataFromCard(unsigned char ticketIndex)
PrepareIssueDataFromCard - Function create IssuedTicket, Prepare Tariff from one way ticket facade...
Definition: ECommonFunctionalityModule.cpp:2142
virtual EIssueLogicDefines::ReturnValues IsStayOnLastBusStop(bool &stayOnLastBusStop)
Function check if actual bus stop is last on trip.
Definition: ECommonFunctionalityModule.cpp:1927
virtual EIssueLogicDefines::ReturnValues ClearOneWayTickets(unsigned char ticketIndex)
Function clears one way ticket flags on card cleared flags:
Definition: ECommonFunctionalityModule.cpp:2580
virtual EIssueLogicDefines::ReturnValues EvaluateCardTypeMatch(bool cardTypeMatching)
Evaluates information about matching card type. Application behaves different to not-matching card ty...
Definition: ECommonFunctionalityModule.cpp:3694
EIssueLogicDefines::ReturnValues SetIssuedTicketFlags(IssuedTicket *issuedTicket)
SetIssuedTicketFlags Evaluate and set flags to issued ticket.
Definition: ECommonFunctionalityModule.cpp:4216
virtual EIssueLogicDefines::ReturnValues GetFirstCustomerProfileValidByTariff(IssuedTicketSegment *issuedTicketSegment, unsigned char &usedCustomerProfile)
Function checks tariff discount type with issuing tariff discount. Calls IsAllowedTimeTicketTariffToC...
Definition: ECommonFunctionalityModule.cpp:3507
virtual EIssueLogicDefines::ReturnValues PrepareIssueData()
Function prepare common data to issue ticket.
Definition: ECommonFunctionalityModule.cpp:1960
class represent common functionality for all ticket issue logic
Definition: ECommonFunctionalityModule.h:37
virtual EIssueLogicDefines::ReturnValues CheckTicketCount(long ticketIndex=-1)
Function check setting in tariff system "max ticket count" on every ticket position on card and than ...
Definition: ECommonFunctionalityModule.cpp:2660
virtual EIssueLogicDefines::ReturnValues IsCardTypeMatchingTariffDiscount(Strojcek::VstupneUdaje::TarifnySystem::ETarifa *tariff, bool &cardTypeMatching, bool checkTimeTicketDiscount, unsigned char customerProfileIndex)
Function compare discount type on tariff and discount type on card.
Definition: ECommonFunctionalityModule.cpp:3014
virtual EIssueLogicDefines::ReturnValues GetFellowTravelersCount(unsigned long &fellowTravelerCount)
GetFellowTravelersCount - Returns count of fellow travelers.
Definition: ECommonFunctionalityModule.cpp:4117
virtual EIssueLogicDefines::ReturnValues PrepareSubstituteTariffGroup(IssuedTicketSegment *issuedTicketSegment, Strojcek::VstupneUdaje::TarifnySystem::ETarifa *tariff, Strojcek::VstupneUdaje::TarifnySystem::ETarifnaSkupina *tariffGroup)
PrepareSubstituteTariffGroupTariff - Function finds substitute tariff group by selected tariff ticket...
Definition: ECommonFunctionalityModule.cpp:3818
virtual EIssueLogicDefines::ReturnValues Init()
Saves required modules into members.
Definition: ECommonFunctionalityModule.cpp:1567
virtual EIssueLogicDefines::ReturnValues PrepareCardTicketIndex()
PrepareCardTicketIndex - function calculate free card ticket index and set it to data storage...
Definition: ECommonFunctionalityModule.cpp:3330
virtual EIssueLogicDefines::ReturnValues ClearFlagsWasPurchased(unsigned char startingTicketIndex)
Function flaqs was purchased from starting ticket index on card cleared flags:
Definition: ECommonFunctionalityModule.cpp:2637
ECommonFunctionalityModule(ETicketIssueLogic *ticketIssueLogic, ETicketIssueLogicDataStorage *dataStorage, std::string moduleName=E_COMMON_FUNCTIONALITY_MODUL_NAME)
standard c++ constructor, Create data class
Definition: ECommonFunctionalityModule.cpp:1548
ReturnValues
Definition: ETicketIssueLogicDefines.h:49
virtual EIssueLogicDefines::ReturnValues PrepareTimeTicketData(Strojcek::VstupneUdaje::TarifnySystem::ETarifa *&tariff, short validTimeTicketIndex)
Prepare time ticket common data by time ticket tariff ticket number. This function is called from Pre...
Definition: ECommonFunctionalityModule.cpp:2300
__ECLASS DataClass
Definition: EEventUpdateCustomerData.h:35
virtual EIssueLogicDefines::ReturnValues PrepareTariffDataBySubstituteTariffGroups(IssuedTicketSegment *issuedTicketSegment)
PrepareSubstituteTariffGroup - Function prepare substitute tariff from actual tariffGroup.
Definition: ECommonFunctionalityModule.cpp:3756
virtual EIssueLogicDefines::ReturnValues CheckTicketValidity(bool &isTicketValid, bool &ticketOnTimeTicket, signed char ticketIndex=0)
Check ticket validity on card on ticketIndex.
Definition: ECommonFunctionalityModule.cpp:1776
Definition: IssuedTicket.h:33
virtual EIssueLogicDefines::ReturnValues ClearOneWayTicketsTimeValidity()
Function clears one way ticket time validity (shared attribute for all one way tickets) ...
Definition: ECommonFunctionalityModule.cpp:2626
Definition: ETicketIssueLogicDataStorage.h:51
virtual bool CheckMaxAgeForDiscount(unsigned char customerProfileIndex, bool timeTicket, bool &isDiscountAllowed)
Function checks if age is within given discount.
Definition: ECommonFunctionalityModule.cpp:3966
virtual EIssueLogicDefines::ReturnValues CheckCashIssueConditions()
Check conditions to issue a ticket.
Definition: ECommonFunctionalityModule.cpp:3445
SYSTEM INCLUDES.
Definition: CardFacadeManagerXML.h:6
EIssueLogicDefines::ReturnValues CheckTicketLineTripBusStopValidity(unsigned char ticketIndex, bool &isTicketValid)
CheckTicketLineTripBusStopValidity - checks if ticket on card has same line, trip, protect number and check-in bus stop.
PriceComputeUnit
Definition: ETicketIssueLogicDefines.h:368
Definition: DataForPriceCalculation.h:27
Definition: ETicketIssueModule.h:11
const char * E_COMMON_FUNCTIONALITY_MODUL_NAME
Definition: ETicketIssueLogicDefines.cpp:10
virtual EIssueLogicDefines::ReturnValues PrepareTicketIssueData(IssuedTicketSegment *issuedTicketSegment)
Function prepare common data ( tariff, tariffGroup, tariffGroupTariff ) by card type and set to data ...
Definition: ECommonFunctionalityModule.cpp:2770
EIssueLogicDefines::ReturnValues IsProcessingJourneyOnTimeTicket(bool &journeyOnTimeTicket, IssuedTicketSegment *issuedTicketSegment=NULL)
IsProcessingJourneyOnTimeTicket. Function checks time ticket collection validity and flag in oneWayTi...
Definition: ECommonFunctionalityModule.cpp:1649
virtual EIssueLogicDefines::ReturnValues PrepareCashTicketData(Strojcek::VstupneUdaje::TarifnySystem::ETarifa *&tariff, unsigned char customerProfileIndex)
Function prepare common data( tariff. tariffGroup, tariffGroupTariff ) by card type. This function is called from PrepareTicketAutoIssueData.
Definition: ECommonFunctionalityModule.cpp:2388
EIssueLogicDefines::ReturnValues CheckTicketLineTripValidity(unsigned char ticketIndex, bool &isTicketValid)
CheckTicketLineTripValidity - checks if ticket on card has same line, trip, protect number...
EIssueLogicDefines::ReturnValues FillIssuedTicketSegmentSpatialUnits(const EIssueLogicDefines::PriceComputeUnit priceComputeUnit, IssuedTicketSegment *issuedTicketSegment)
Definition: ECommonFunctionalityModule.cpp:4275
virtual EIssueLogicDefines::ReturnValues GetFirstCustomerProfileValidByOneWayTicketTariff(IssuedTicketSegment *issuedTicketSegment, unsigned char &usedCustomerProfile)
Function checks tariff discount type with issuing tariff discount.
Definition: ECommonFunctionalityModule.cpp:3612