|
|
|
#ifndef VOUCHERITEM_H
|
|
|
|
#define VOUCHERITEM_H
|
|
|
|
|
|
|
|
#include <QObject>
|
|
|
|
#include <QString>
|
|
|
|
#include <QDecDouble.hh>
|
|
|
|
#include <odb/core.hxx>
|
|
|
|
#include <QSharedPointer>
|
|
|
|
|
|
|
|
#include <enums.h>
|
|
|
|
|
|
|
|
class Voucher;
|
|
|
|
|
|
|
|
#pragma db object
|
|
|
|
class VoucherItem : public QObject
|
|
|
|
{
|
|
|
|
Q_OBJECT
|
|
|
|
|
|
|
|
Q_PROPERTY(QString name READ name WRITE setName)
|
|
|
|
Q_PROPERTY(int count READ count WRITE setCount NOTIFY countChanged)
|
|
|
|
Q_PROPERTY(QDecDouble unitPrice READ unitPrice WRITE setUnitPrice)
|
|
|
|
Q_PROPERTY(Enums::VatType vatType READ vatType WRITE setVatType)
|
|
|
|
Q_PROPERTY(QDecDouble vatRate READ vatRate WRITE setVatRate)
|
|
|
|
Q_PROPERTY(QDecDouble vatAmount READ vatAmount)
|
|
|
|
Q_PROPERTY(QDecDouble price READ price WRITE setPrice)
|
|
|
|
|
|
|
|
public:
|
|
|
|
explicit VoucherItem(QObject *parent = 0);
|
|
|
|
|
|
|
|
int id() const;
|
|
|
|
void setId(int id);
|
|
|
|
|
|
|
|
QString name() const;
|
|
|
|
void setName(const QString &name);
|
|
|
|
|
|
|
|
int count() const;
|
|
|
|
void setCount(int count);
|
|
|
|
|
|
|
|
QDecDouble unitPrice() const;
|
|
|
|
void setUnitPrice(QDecDouble unitPrice);
|
|
|
|
|
|
|
|
QDecDouble price() const;
|
|
|
|
void setPrice(QDecDouble price);
|
|
|
|
|
|
|
|
int refId() const;
|
|
|
|
void setRefId(int refId);
|
|
|
|
|
|
|
|
QString itemPlugin() const;
|
|
|
|
void setItemPlugin(const QString &itemPlugin);
|
|
|
|
|
|
|
|
Enums::VatType vatType() const;
|
|
|
|
void setVatType(const Enums::VatType &vatType);
|
|
|
|
|
|
|
|
QDecDouble vatRate() const;
|
|
|
|
void setVatRate(QDecDouble vatRate);
|
|
|
|
|
|
|
|
QDecDouble priceWitouthVat() const;
|
|
|
|
void setPriceWitouthVat(QDecDouble priceWitouthVat);
|
|
|
|
|
|
|
|
QDecDouble vatAmount() const;
|
|
|
|
|
|
|
|
QWeakPointer<Voucher> voucher() const;
|
|
|
|
void setVoucher(const QWeakPointer<Voucher> &voucher);
|
|
|
|
|
|
|
|
signals:
|
|
|
|
void countChanged(int oldCount);
|
|
|
|
|
|
|
|
private:
|
|
|
|
friend class odb::access;
|
|
|
|
#pragma db id auto
|
|
|
|
int m_id;
|
|
|
|
QString m_name;
|
|
|
|
int m_count;
|
|
|
|
int m_unitPrice;
|
|
|
|
int m_vatRate;
|
|
|
|
int m_priceWitouthVat;
|
|
|
|
int m_price;
|
|
|
|
int m_refId;
|
|
|
|
QString m_itemPlugin;
|
|
|
|
Enums::VatType m_vatType;
|
|
|
|
#pragma db not_null
|
|
|
|
QWeakPointer<Voucher> m_voucher;
|
|
|
|
};
|
|
|
|
|
|
|
|
typedef QSharedPointer<VoucherItem> VoucherItemPtr;
|
|
|
|
|
|
|
|
#endif // VOUCHERITEM_H
|