#ifndef CAMPSERVICE_H #define CAMPSERVICE_H #include #include #include #include #include "data/camp-data.h" #include "settings/campsettings.h" #include "camp-odb.hxx" class CampService : public Service, public ISellableService { public: CampService(); void addPerson(CampDataPtr data, AddressbookDataPtr address); void addService(CampDataPtr data, AccServicePtr service); void addService(CampDataPtr data, AccServicePtr service, QDecDouble price, QString description); void setOwner(CampDataPtr data, AddressItemPtr person); CampDataPtr create(); void calculate(CampDataPtr data); void saveCamp(CampDataPtr data); void updateCamp(CampDataPtr data); void eraseCamp(CampDataPtr data); void loadItems(CampDataPtr data); private: ServiceItemPtr addServiceInt(CampDataPtr data, AccServicePtr service); void calcPeople(CampDataPtr data); void calcServices(CampDataPtr data); void calcPrice(CampDataPtr data); void addAccFee(CampDataPtr data, AddressItemPtr item, int startAge, int endAge, int days); CampSettingsPtr m_settings; ISeller *m_seller; // ISellableService interface public: QList shopItems(); ShopItemPtr shopItem(int itemId); void addedToVoucher(int itemId, int countAdded); ISeller *seller(); }; #endif // CAMPSERVICE_H