AppCore
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
ECalculatePriceModule.h
Go to the documentation of this file.
1 #ifndef _ECALCULATEPRICEMODULE_H_
2 #define _ECALCULATEPRICEMODULE_H_
3 
4 #include "ETicketIssueModule.h"
6 
7 class EHead;
8 
9 namespace EM
10 {
11  namespace Strojcek
12  {
13  namespace VstupneUdaje
14  {
15  struct _VSTUPNA_STRUKTURA;
16  namespace TarifnySystem
17  {
18  class ETarifa;
19  class ETarifnaSkupina;
20  }
21  }
22  }
23 
24  namespace TicketIssueLogic
25  {
26  class ETicketIssueLogic;
27  class ETicketIssueLogicDataStorage;
28  class IssuedTicket;
29  class IssuedTicketSegment;
30  class DataForPriceCalculation;
31  class DataForVATCalculation;
32 
34  {
35  public:
36  ECalculatePriceModule( ETicketIssueLogic *ticketIssueLogic, ETicketIssueLogicDataStorage *dataStorage, std::string moduleName = E_CALCULATE_PRICE_MODULE );
37  virtual ~ECalculatePriceModule();
38 
40 
51  virtual EIssueLogicDefines::ReturnValues CalculateAndSetPrice( IssuedTicket *issuedTicket, IssuedTicketSegment *issuedTicketSegment );
52 
65  virtual EIssueLogicDefines::ReturnValues CalculatePrice( long &calculatedPrice, double &calculatedPriceDecimalFormat, const DataForPriceCalculation &dataForPriceCalculation, IssuedTicket *issuedTicket, IssuedTicketSegment *issuedTicketSegment );
66 
76  EIssueLogicDefines::ReturnValues SaveCalculatePriceResult( EHead *calculatePriceResultCollection, Strojcek::VstupneUdaje::_VSTUPNA_STRUKTURA &inputDataCalculatePrice, IssuedTicket *issuedTicket, IssuedTicketSegment *issuedTicketSegment );
77 
87  EIssueLogicDefines::ReturnValues CalculateAndSaveVATRate( const DataForPriceCalculation &dataForPriceCalculation, IssuedTicketSegment *issuedTicketSegment );
88 
96  EIssueLogicDefines::ReturnValues CalculateVATRateAndValue( const DataForVATCalculation &dataForVatCalculation, long &calculatedVatRate, double &calculatedVatValueInCents );
97 
104  virtual EIssueLogicDefines::ReturnValues CalculateMultipleTicketPrice( long &price, double &decimalPrice );
105 
111  virtual EIssueLogicDefines::ReturnValues FillAdditionalDataCalculatePrice( const DataForPriceCalculation &dataForPriceCalculation, Strojcek::VstupneUdaje::_VSTUPNA_STRUKTURA &inputDataCalculatePrice );
112 
113  protected:
119  virtual EIssueLogicDefines::ReturnValues FillInputDataToCalculatePrice( const DataForPriceCalculation &dataForPriceCalculation, Strojcek::VstupneUdaje::_VSTUPNA_STRUKTURA &inputDataCalculatePrice );
120 
121  private:
123 
124  class DataClass;
125  DataClass *d;
126 
128  };
129  }
130 }
131 
132 
133 #endif // ECALCULATEPRICEMODULE_H
Definition: ECalculatePriceModuleInterface.h:19
Definition: ETicketIssueLogic.h:54
virtual EIssueLogicDefines::ReturnValues FillAdditionalDataCalculatePrice(const DataForPriceCalculation &dataForPriceCalculation, Strojcek::VstupneUdaje::_VSTUPNA_STRUKTURA &inputDataCalculatePrice)
Fill specific data to calculate price. For Example in multicard set application to input data to calc...
Definition: ECalculatePriceModule.cpp:831
EEventTripTicketPr __EDATAPTR d
Definition: EEventTripTicket.h:96
EIssueLogicDefines::ReturnValues CalculateAndSaveVATRate(const DataForPriceCalculation &dataForPriceCalculation, IssuedTicketSegment *issuedTicketSegment)
Calculates VAT rate and save to issued ticket segment.
Definition: ECalculatePriceModule.cpp:626
Definition: IssuedTicketSegment.h:28
Definition: ECalculatePriceModule.h:33
EIssueLogicDefines::ReturnValues SaveCalculatePriceResult(EHead *calculatePriceResultCollection, Strojcek::VstupneUdaje::_VSTUPNA_STRUKTURA &inputDataCalculatePrice, IssuedTicket *issuedTicket, IssuedTicketSegment *issuedTicketSegment)
Function save calculate price result( instance of EListokTarifa, ETarifa ) to issued ticket...
Definition: ECalculatePriceModule.cpp:512
virtual ~ECalculatePriceModule()
Definition: ECalculatePriceModule.cpp:347
const char * E_CALCULATE_PRICE_MODULE
Definition: ETicketIssueLogicDefines.cpp:25
EIssueLogicDefines::ReturnValues CalculateVATRateAndValue(const DataForVATCalculation &dataForVatCalculation, long &calculatedVatRate, double &calculatedVatValueInCents)
Calculates VAT rate and VAT value in cents.
Definition: ECalculatePriceModule.cpp:692
virtual EIssueLogicDefines::ReturnValues Init()
init module input data ( for example other module )
Definition: ECalculatePriceModule.cpp:355
virtual EIssueLogicDefines::ReturnValues CalculatePrice(long &calculatedPrice, double &calculatedPriceDecimalFormat, const DataForPriceCalculation &dataForPriceCalculation, IssuedTicket *issuedTicket, IssuedTicketSegment *issuedTicketSegment)
Calculate price fill input data, which send to calculatePrice ( EVypocetCeny ). Result save to actual...
Definition: ECalculatePriceModule.cpp:454
virtual EIssueLogicDefines::ReturnValues FillInputDataToCalculatePrice(const DataForPriceCalculation &dataForPriceCalculation, Strojcek::VstupneUdaje::_VSTUPNA_STRUKTURA &inputDataCalculatePrice)
Fill input data to calculate price with common data and than call FillAdditionalDataCalculatePrice to...
Definition: ECalculatePriceModule.cpp:888
virtual EIssueLogicDefines::ReturnValues CalculateMultipleTicketPrice(long &price, double &decimalPrice)
Calculates total price of all set multiple tickets.
Definition: ECalculatePriceModule.cpp:775
ReturnValues
Definition: ETicketIssueLogicDefines.h:49
__ECLASS DataClass
Definition: EEventUpdateCustomerData.h:35
Definition: IssuedTicket.h:33
ECalculatePriceModule(ETicketIssueLogic *ticketIssueLogic, ETicketIssueLogicDataStorage *dataStorage, std::string moduleName=E_CALCULATE_PRICE_MODULE)
Definition: ECalculatePriceModule.cpp:336
Definition: ETicketIssueLogicDataStorage.h:51
SYSTEM INCLUDES.
Definition: CardFacadeManagerXML.h:6
Definition: DataForPriceCalculation.h:27
Definition: ETicketIssueModule.h:11
virtual EIssueLogicDefines::ReturnValues CalculateAndSetPrice(IssuedTicket *issuedTicket, IssuedTicketSegment *issuedTicketSegment)
Function calculate and set price to issued ticket.
Definition: ECalculatePriceModule.cpp:410
Definition: DataForVATCalculation.h:21