Files
prodejna/camp/campservice.h
T

46 lines
1.5 KiB
C++
Raw Normal View History

2017-05-19 14:36:41 +02:00
#ifndef CAMPSERVICE_H
#define CAMPSERVICE_H
2017-05-20 23:40:57 +02:00
#include <core.h>
#include <data/addressbookdata.h>
#include <data/accservice.h>
#include <isellableservice.h>
2017-05-20 23:40:57 +02:00
#include "data/camp-data.h"
#include "settings/campsettings.h"
2017-05-19 14:36:41 +02:00
class CampService : public Service<CampData>, public ISellableService
2017-05-19 14:36:41 +02:00
{
public:
CampService();
void addPerson(const CampDataPtr& data, const AddressbookDataPtr& address);
void addService(const CampDataPtr& data, const AccServicePtr& service);
void addService(CampDataPtr data, AccServicePtr service, QDecDouble price, const QString& description);
void setOwner(const CampDataPtr& data, const AddressItemPtr& person);
2017-05-20 23:40:57 +02:00
CampDataPtr create();
void calculate(const CampDataPtr& data);
void saveCamp(const CampDataPtr& data);
//void updateCamp(CampDataPtr data);
//void eraseCamp(CampDataPtr data);
//void loadItems(CampDataPtr data);
QList<CampDataPtr> allForSeason();
private:
ServiceItemPtr addServiceInt(const CampDataPtr& data, const AccServicePtr& service);
void calcPeople(CampDataPtr data);
void calcServices(const CampDataPtr& data);
void calcPrice(const CampDataPtr& data);
void addAccFee(const CampDataPtr& data, const AddressItemPtr& item, int startAge, int endAge, int days);
CampSettingsPtr m_settings;
ISeller *m_seller;
// ISellableService interface
public:
QList<IShopItemPtr> shopItems() override;
IShopItemPtr shopItem(int itemId) override;
void addedToVoucher(int itemId, int countAdded) override;
ISeller *seller() override;
2017-05-19 14:36:41 +02:00
};
2017-05-20 23:40:57 +02:00
#endif // CAMPSERVICE_H