AirInv Logo  0.1.2
C++ Simulated Airline Inventory Management System library
InventoryHelper.hpp
Go to the documentation of this file.
00001 #ifndef __AIRINV_BOM_INVENTORYHELPER_HPP
00002 #define __AIRINV_BOM_INVENTORYHELPER_HPP
00003 
00004 // //////////////////////////////////////////////////////////////////////
00005 // Import section
00006 // //////////////////////////////////////////////////////////////////////
00007 // STL
00008 #include <string>
00009 // StdAir
00010 #include <stdair/stdair_basic_types.hpp>
00011 
00012 // Forward declarations
00013 namespace stdair {
00014   struct TravelSolutionStruct;
00015   class Inventory;
00016 }
00017 
00018 namespace AIRINV {
00019   
00022   class InventoryHelper {
00023   public:
00024     // ////////// Business Methods /////////
00027     static void fillFromRouting (const stdair::Inventory&);
00028 
00030     static void calculateAvailability (const stdair::Inventory&,
00031                                        const std::string&,
00032                                        stdair::TravelSolutionStruct&);
00033 
00035     static void getYieldAndBidPrice (const stdair::Inventory&,
00036                                        const std::string&,
00037                                        stdair::TravelSolutionStruct&);
00038     
00040     static bool sell (stdair::Inventory&, const std::string& iSegmentDateKey,
00041                       const stdair::ClassCode_T&, const stdair::PartySize_T&);
00042     
00044     static bool cancel (stdair::Inventory&, const std::string& iSegmentDateKey,
00045                         const stdair::ClassCode_T&, const stdair::PartySize_T&);
00046 
00048     static void takeSnapshots (const stdair::Inventory&,
00049                                const stdair::DateTime_T&);
00050   };
00051 
00052 }
00053 #endif // __AIRINV_BOM_INVENTORYHELPER_HPP