You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

84 lines
2.0 KiB
C

#ifndef ACCSERVICE_H
#define ACCSERVICE_H
#include <QObject>
#include <QString>
#include <QDecDouble.hh>
#include <QSharedPointer>
#include <odb/core.hxx>
#include <enums.h>
#include <QtCore/qglobal.h>
#if defined(SERVICES_LIBRARY)
# define SERVICESSHARED_EXPORT Q_DECL_EXPORT
#else
# define SERVICESSHARED_EXPORT Q_DECL_IMPORT
#endif
#pragma db object
class SERVICESSHARED_EXPORT AccService : public QObject
{
Q_OBJECT
Q_PROPERTY(QString accServiceName READ accServiceName WRITE setAccServiceName)
Q_PROPERTY(QString accServiceCode READ accServiceCode WRITE setAccServiceCode)
Q_PROPERTY(QDecDouble price READ price WRITE setPrice)
Q_PROPERTY(bool active READ active WRITE setActive)
Q_PROPERTY(bool salePossible READ salePossible WRITE setSalePossible)
Q_PROPERTY(ServiceType serviceType READ serviceType WRITE setServiceType)
Q_ENUMS(ServiceType)
Q_PROPERTY(Enums::VatType vatType READ vatType WRITE setVatType)
public:
AccService(QObject *parent = 0);
enum ServiceType { CAR,TENT,OTHER,ACCFEE };
int id() const;
void setId(int id);
QDecDouble price() const;
void setPrice(QDecDouble price);
bool active() const;
void setActive(bool active);
bool salePossible() const;
void setSalePossible(bool salePossible);
ServiceType serviceType() const;
void setServiceType(const ServiceType &serviceType);
QString accServiceName() const;
void setAccServiceName(const QString &accServiceName);
QString accServiceCode() const;
void setAccServiceCode(const QString &accServiceCode);
Enums::VatType vatType() const;
void setVatType(const Enums::VatType &vatType);
private:
friend class odb::access;
#pragma db id auto
int m_id;
QString m_accServiceName;
int m_price;
bool m_active;
bool m_salePossible;
ServiceType m_serviceType;
QString m_accServiceCode;
Enums::VatType m_vatType;
};
typedef QSharedPointer<AccService> AccServicePtr;
#endif // ACCSERVICE_H