#ifndef SHOPITEM_H
#define SHOPITEM_H

#include <QObject>

#include "shop_global.h"
#include "ishopitem.h"

class SHOPSHARED_EXPORT ShopItem : public QObject, public IShopItem
{
    Q_OBJECT

    Q_PROPERTY(QString code READ code)
    Q_PROPERTY(QString name READ name)
    Q_PROPERTY(QString shortName READ shortName)
    Q_PROPERTY(QDecDouble unitPrice READ unitPrice)
    Q_PROPERTY(Enums::VatType vatType READ vatType)

public:
    explicit ShopItem(QObject *parent = 0);

signals:

public slots:

    // IShopItem interface
public:
    virtual int id() override { return 0; }
    virtual QString code() { return ""; }
    virtual QString name() override { return ""; }
    virtual QString shortName() override { return ""; }
    virtual QDecDouble unitPrice() override { return QDecDouble(); }
    virtual Enums::VatType vatType() override { return Enums::NONE; }
    virtual QString pluginId() override { return ""; }
};

typedef QSharedPointer<ShopItem> ShopItemPtr;

#endif // SHOPITEM_H
