new plugin commodity implemented
							parent
							
								
									4b8d790ea8
								
							
						
					
					
						commit
						a1f92c9f40
					
				@ -0,0 +1,18 @@
 | 
			
		||||
#include "commodity.h"
 | 
			
		||||
#include "data/commodity-data.h"
 | 
			
		||||
#include "commodityform.h"
 | 
			
		||||
#include "commoditygrid.h"
 | 
			
		||||
 | 
			
		||||
Commodity::Commodity()
 | 
			
		||||
{
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void Commodity::initServiceUi()
 | 
			
		||||
{
 | 
			
		||||
    CommodityGrid *grid = new CommodityGrid();
 | 
			
		||||
    CommodityForm *form = new CommodityForm();
 | 
			
		||||
 | 
			
		||||
    m_service = new Service<CommodityData>;
 | 
			
		||||
    m_ui = grid;
 | 
			
		||||
    ((CommodityGrid *) m_ui)->setForm(form);
 | 
			
		||||
}
 | 
			
		||||
@ -0,0 +1,23 @@
 | 
			
		||||
#ifndef COMMODITY_H
 | 
			
		||||
#define COMMODITY_H
 | 
			
		||||
 | 
			
		||||
#include "commodity_global.h"
 | 
			
		||||
#include <core.h>
 | 
			
		||||
#include <QObject>
 | 
			
		||||
#include <QtPlugin>
 | 
			
		||||
 | 
			
		||||
class COMMODITYSHARED_EXPORT Commodity : public QObject, IMetaDataPlugin
 | 
			
		||||
{
 | 
			
		||||
    Q_OBJECT
 | 
			
		||||
 | 
			
		||||
    Q_PLUGIN_METADATA(IID PluginInterface_iid FILE "commodity.json")
 | 
			
		||||
    Q_INTERFACES(IPlugin)
 | 
			
		||||
 | 
			
		||||
public:
 | 
			
		||||
    Commodity();
 | 
			
		||||
 | 
			
		||||
protected:
 | 
			
		||||
    void initServiceUi() Q_DECL_OVERRIDE;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
#endif // COMMODITY_H
 | 
			
		||||
@ -0,0 +1,33 @@
 | 
			
		||||
{
 | 
			
		||||
    "id" : "COMMODITY",
 | 
			
		||||
    "name" : {
 | 
			
		||||
        "default" : "Commodity",
 | 
			
		||||
        "CZ" : "Zboží"
 | 
			
		||||
    },
 | 
			
		||||
    "descriptoin" : {
 | 
			
		||||
        "default" : "",
 | 
			
		||||
        "CZ" : ""
 | 
			
		||||
    },
 | 
			
		||||
    "schemaVersion" : 1,
 | 
			
		||||
    "sql" : [
 | 
			
		||||
  "CREATE TABLE \"CommodityTypeData\" (
 | 
			
		||||
  \"id\" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
 | 
			
		||||
  \"name\" TEXT NULL);
 | 
			
		||||
 | 
			
		||||
CREATE TABLE \"CommodityData\" (
 | 
			
		||||
  \"id\" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
 | 
			
		||||
  \"name\" TEXT NULL,
 | 
			
		||||
  \"shortName\" TEXT NULL,
 | 
			
		||||
  \"code\" TEXT NULL,
 | 
			
		||||
  \"type\" INTEGER NULL,
 | 
			
		||||
  \"price\" INTEGER NOT NULL,
 | 
			
		||||
  \"vat\" INTEGER NOT NULL,
 | 
			
		||||
  \"count\" INTEGER NOT NULL,
 | 
			
		||||
  CONSTRAINT \"type_fk\"
 | 
			
		||||
    FOREIGN KEY (\"type\")
 | 
			
		||||
    REFERENCES \"CommodityTypeData\" (\"id\")
 | 
			
		||||
    DEFERRABLE INITIALLY DEFERRED);"
 | 
			
		||||
 | 
			
		||||
    ],
 | 
			
		||||
    "dependencies" : []
 | 
			
		||||
}
 | 
			
		||||
@ -0,0 +1,68 @@
 | 
			
		||||
#-------------------------------------------------
 | 
			
		||||
#
 | 
			
		||||
# Project created by QtCreator 2016-02-09T21:26:14
 | 
			
		||||
#
 | 
			
		||||
#-------------------------------------------------
 | 
			
		||||
 | 
			
		||||
QT       += widgets sql
 | 
			
		||||
 | 
			
		||||
QT       -= gui
 | 
			
		||||
 | 
			
		||||
TARGET = commodity
 | 
			
		||||
TEMPLATE = lib
 | 
			
		||||
 | 
			
		||||
DEFINES += COMMODITY_LIBRARY\
 | 
			
		||||
        _GLIBCXX_USE_CXX11_ABI=1
 | 
			
		||||
 | 
			
		||||
SOURCES += commodity.cpp \
 | 
			
		||||
    data/commoditydata.cpp \
 | 
			
		||||
    data/commoditytypedata.cpp \
 | 
			
		||||
    commoditytablemodel.cpp \
 | 
			
		||||
    commodityform.cpp \
 | 
			
		||||
    commoditygrid.cpp
 | 
			
		||||
 | 
			
		||||
HEADERS += commodity.h\
 | 
			
		||||
        commodity_global.h \
 | 
			
		||||
    data/commoditydata.h \
 | 
			
		||||
    data/commoditytypedata.h \
 | 
			
		||||
    data/commodity-data.h \
 | 
			
		||||
    commoditytablemodel.h \
 | 
			
		||||
    commodityform.h \
 | 
			
		||||
    commoditygrid.h
 | 
			
		||||
 | 
			
		||||
unix {
 | 
			
		||||
    target.path = /usr/lib
 | 
			
		||||
    INSTALLS += target
 | 
			
		||||
    QMAKE_CXXFLAGS += -std=c++11
 | 
			
		||||
    QMAKE_CXXFLAGS += -Wno-unknown-pragmas
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
win32 {
 | 
			
		||||
    QMAKE_CXXFLAGS += -wd4995 -wd4068
 | 
			
		||||
}
 | 
			
		||||
win32:CONFIG(release, debug|release): LIBS += -L$$OUT_PWD/../core/release/ -lcore
 | 
			
		||||
else:win32:CONFIG(debug, debug|release): LIBS += -L$$OUT_PWD/../core/debug/ -lcore
 | 
			
		||||
else:unix: LIBS += -L$$OUT_PWD/../core/ -lcore
 | 
			
		||||
 | 
			
		||||
INCLUDEPATH += $$PWD/../core
 | 
			
		||||
DEPENDPATH += $$PWD/../core
 | 
			
		||||
 | 
			
		||||
DESTDIR = ../plugins
 | 
			
		||||
 | 
			
		||||
ODB_FILES = commodity/data/commodity-data.h
 | 
			
		||||
H_DIR = $$PWD/data/*.h
 | 
			
		||||
include(../odb.pri)
 | 
			
		||||
 | 
			
		||||
win32:CONFIG(release, debug|release): LIBS += -L$$OUT_PWD/../qdecimal/lib/ -lqdecimal -ldecnumber
 | 
			
		||||
else:win32:CONFIG(debug, debug|release): LIBS += -L$$OUT_PWD/../qdecimal/lib/ -lqdecimal -ldecnumber
 | 
			
		||||
else:unix: LIBS += -L$$OUT_PWD/../qdecimal/lib/ -lqdecimal -ldecnumber
 | 
			
		||||
 | 
			
		||||
INCLUDEPATH += $$PWD/../qdecimal/src
 | 
			
		||||
INCLUDEPATH += $$PWD/../qdecimal/decnumber
 | 
			
		||||
DEPENDPATH += $$PWD/../qdecimal/src
 | 
			
		||||
 | 
			
		||||
OTHER_FILES += \
 | 
			
		||||
    commodity.json
 | 
			
		||||
 | 
			
		||||
FORMS += \
 | 
			
		||||
    commodityform.ui
 | 
			
		||||
@ -0,0 +1,12 @@
 | 
			
		||||
#ifndef COMMODITY_GLOBAL_H
 | 
			
		||||
#define COMMODITY_GLOBAL_H
 | 
			
		||||
 | 
			
		||||
#include <QtCore/qglobal.h>
 | 
			
		||||
 | 
			
		||||
#if defined(COMMODITY_LIBRARY)
 | 
			
		||||
#  define COMMODITYSHARED_EXPORT Q_DECL_EXPORT
 | 
			
		||||
#else
 | 
			
		||||
#  define COMMODITYSHARED_EXPORT Q_DECL_IMPORT
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#endif // COMMODITY_GLOBAL_H
 | 
			
		||||
@ -0,0 +1,37 @@
 | 
			
		||||
#include "commodityform.h"
 | 
			
		||||
#include "ui_commodityform.h"
 | 
			
		||||
#include <combodata.h>
 | 
			
		||||
#include <QSharedPointer>
 | 
			
		||||
#include <qlist.h>
 | 
			
		||||
#include "data/commoditytypedata.h"
 | 
			
		||||
 | 
			
		||||
CommodityForm::CommodityForm(QWidget *parent) :
 | 
			
		||||
    AutoForm<CommodityData>(parent),
 | 
			
		||||
    ui(new Ui::CommodityForm)
 | 
			
		||||
{
 | 
			
		||||
    ui->setupUi(this);
 | 
			
		||||
    registerBinding(ui->name);
 | 
			
		||||
    registerBinding(ui->shortName);
 | 
			
		||||
    registerBinding(ui->code);
 | 
			
		||||
    registerBinding(ui->price);
 | 
			
		||||
    QList<ComboData> vt ;
 | 
			
		||||
    vt << ComboData(Enums::HIGH,tr("High")) << ComboData(Enums::FIRST_LOWER,tr("First Lower")) << ComboData(Enums::SECOND_LOWER,tr("Second Lower"));
 | 
			
		||||
    registerBinding(ui->vat,vt);
 | 
			
		||||
    registerBinding(ui->count);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
CommodityForm::~CommodityForm()
 | 
			
		||||
{
 | 
			
		||||
    delete ui;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void CommodityForm::registerCombos()
 | 
			
		||||
{
 | 
			
		||||
    QList<ComboData> ct;
 | 
			
		||||
    Service<CommodityTypeData> cts;
 | 
			
		||||
    foreach (QSharedPointer<CommodityTypeData> ctd , cts.all()) {
 | 
			
		||||
        ComboData cd(ctd);
 | 
			
		||||
        ct << cd;
 | 
			
		||||
    }
 | 
			
		||||
    registerBinding(ui->type,ct);
 | 
			
		||||
}
 | 
			
		||||
@ -0,0 +1,29 @@
 | 
			
		||||
#ifndef COMMODITYFORM_H
 | 
			
		||||
#define COMMODITYFORM_H
 | 
			
		||||
 | 
			
		||||
#include <QWidget>
 | 
			
		||||
#include <autoform.h>
 | 
			
		||||
#include "data/commoditydata.h"
 | 
			
		||||
#include "commodity-odb.hxx"
 | 
			
		||||
 | 
			
		||||
namespace Ui {
 | 
			
		||||
class CommodityForm;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
class CommodityForm : public AutoForm<CommodityData>
 | 
			
		||||
{
 | 
			
		||||
    Q_OBJECT
 | 
			
		||||
 | 
			
		||||
public:
 | 
			
		||||
    explicit CommodityForm(QWidget *parent = 0);
 | 
			
		||||
    ~CommodityForm();
 | 
			
		||||
 | 
			
		||||
private:
 | 
			
		||||
    Ui::CommodityForm *ui;
 | 
			
		||||
 | 
			
		||||
    // FormBinder interface
 | 
			
		||||
protected:
 | 
			
		||||
    void registerCombos();
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
#endif // COMMODITYFORM_H
 | 
			
		||||
@ -0,0 +1,91 @@
 | 
			
		||||
<?xml version="1.0" encoding="UTF-8"?>
 | 
			
		||||
<ui version="4.0">
 | 
			
		||||
 <class>CommodityForm</class>
 | 
			
		||||
 <widget class="QWidget" name="CommodityForm">
 | 
			
		||||
  <property name="geometry">
 | 
			
		||||
   <rect>
 | 
			
		||||
    <x>0</x>
 | 
			
		||||
    <y>0</y>
 | 
			
		||||
    <width>400</width>
 | 
			
		||||
    <height>300</height>
 | 
			
		||||
   </rect>
 | 
			
		||||
  </property>
 | 
			
		||||
  <property name="windowTitle">
 | 
			
		||||
   <string>Form</string>
 | 
			
		||||
  </property>
 | 
			
		||||
  <layout class="QFormLayout" name="formLayout">
 | 
			
		||||
   <item row="0" column="0">
 | 
			
		||||
    <widget class="QLabel" name="label">
 | 
			
		||||
     <property name="text">
 | 
			
		||||
      <string>Name</string>
 | 
			
		||||
     </property>
 | 
			
		||||
    </widget>
 | 
			
		||||
   </item>
 | 
			
		||||
   <item row="0" column="1">
 | 
			
		||||
    <widget class="QLineEdit" name="name"/>
 | 
			
		||||
   </item>
 | 
			
		||||
   <item row="1" column="0">
 | 
			
		||||
    <widget class="QLabel" name="label_2">
 | 
			
		||||
     <property name="text">
 | 
			
		||||
      <string>Short Name</string>
 | 
			
		||||
     </property>
 | 
			
		||||
    </widget>
 | 
			
		||||
   </item>
 | 
			
		||||
   <item row="1" column="1">
 | 
			
		||||
    <widget class="QLineEdit" name="shortName"/>
 | 
			
		||||
   </item>
 | 
			
		||||
   <item row="2" column="0">
 | 
			
		||||
    <widget class="QLabel" name="label_3">
 | 
			
		||||
     <property name="text">
 | 
			
		||||
      <string>Code</string>
 | 
			
		||||
     </property>
 | 
			
		||||
    </widget>
 | 
			
		||||
   </item>
 | 
			
		||||
   <item row="2" column="1">
 | 
			
		||||
    <widget class="QLineEdit" name="code"/>
 | 
			
		||||
   </item>
 | 
			
		||||
   <item row="3" column="0">
 | 
			
		||||
    <widget class="QLabel" name="label_4">
 | 
			
		||||
     <property name="text">
 | 
			
		||||
      <string>Type</string>
 | 
			
		||||
     </property>
 | 
			
		||||
    </widget>
 | 
			
		||||
   </item>
 | 
			
		||||
   <item row="4" column="0">
 | 
			
		||||
    <widget class="QLabel" name="label_5">
 | 
			
		||||
     <property name="text">
 | 
			
		||||
      <string>Price</string>
 | 
			
		||||
     </property>
 | 
			
		||||
    </widget>
 | 
			
		||||
   </item>
 | 
			
		||||
   <item row="5" column="0">
 | 
			
		||||
    <widget class="QLabel" name="label_6">
 | 
			
		||||
     <property name="text">
 | 
			
		||||
      <string>Vat</string>
 | 
			
		||||
     </property>
 | 
			
		||||
    </widget>
 | 
			
		||||
   </item>
 | 
			
		||||
   <item row="6" column="0">
 | 
			
		||||
    <widget class="QLabel" name="label_7">
 | 
			
		||||
     <property name="text">
 | 
			
		||||
      <string>Count</string>
 | 
			
		||||
     </property>
 | 
			
		||||
    </widget>
 | 
			
		||||
   </item>
 | 
			
		||||
   <item row="4" column="1">
 | 
			
		||||
    <widget class="QLineEdit" name="price"/>
 | 
			
		||||
   </item>
 | 
			
		||||
   <item row="6" column="1">
 | 
			
		||||
    <widget class="QLineEdit" name="count"/>
 | 
			
		||||
   </item>
 | 
			
		||||
   <item row="3" column="1">
 | 
			
		||||
    <widget class="QComboBox" name="type"/>
 | 
			
		||||
   </item>
 | 
			
		||||
   <item row="5" column="1">
 | 
			
		||||
    <widget class="QComboBox" name="vat"/>
 | 
			
		||||
   </item>
 | 
			
		||||
  </layout>
 | 
			
		||||
 </widget>
 | 
			
		||||
 <resources/>
 | 
			
		||||
 <connections/>
 | 
			
		||||
</ui>
 | 
			
		||||
@ -0,0 +1,8 @@
 | 
			
		||||
#include "commoditygrid.h"
 | 
			
		||||
#include "commoditytablemodel.h"
 | 
			
		||||
 | 
			
		||||
CommodityGrid::CommodityGrid(QWidget *parent)
 | 
			
		||||
    :GridForm<CommodityData>(parent)
 | 
			
		||||
{
 | 
			
		||||
    setTableModel(new CommodityTableModel());
 | 
			
		||||
}
 | 
			
		||||
@ -0,0 +1,15 @@
 | 
			
		||||
#ifndef COMMODITYGRID_H
 | 
			
		||||
#define COMMODITYGRID_H
 | 
			
		||||
 | 
			
		||||
#include <core.h>
 | 
			
		||||
#include "data/commoditydata.h"
 | 
			
		||||
#include "commodity-odb.hxx"
 | 
			
		||||
 | 
			
		||||
class CommodityGrid : public GridForm<CommodityData>
 | 
			
		||||
{
 | 
			
		||||
    Q_OBJECT
 | 
			
		||||
public:
 | 
			
		||||
    CommodityGrid(QWidget *parent = NULL);
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
#endif // COMMODITYGRID_H
 | 
			
		||||
@ -0,0 +1,6 @@
 | 
			
		||||
#include "commoditytablemodel.h"
 | 
			
		||||
 | 
			
		||||
CommodityTableModel::CommodityTableModel(QObject *parent)
 | 
			
		||||
    :AutoTableModel<CommodityData>(parent)
 | 
			
		||||
{
 | 
			
		||||
}
 | 
			
		||||
@ -0,0 +1,13 @@
 | 
			
		||||
#ifndef COMMODITYTABLEMODEL_H
 | 
			
		||||
#define COMMODITYTABLEMODEL_H
 | 
			
		||||
#include <autotablemodel.h>
 | 
			
		||||
#include "data/commoditydata.h"
 | 
			
		||||
 | 
			
		||||
class CommodityTableModel : public AutoTableModel<CommodityData>
 | 
			
		||||
{
 | 
			
		||||
    Q_OBJECT
 | 
			
		||||
public:
 | 
			
		||||
    CommodityTableModel(QObject *parent= NULL);
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
#endif // COMMODITYTABLEMODEL_H
 | 
			
		||||
@ -0,0 +1,6 @@
 | 
			
		||||
#ifndef COMMODITY_DATA_H
 | 
			
		||||
#define COMMODITY_DATA_H
 | 
			
		||||
#include "commoditydata.h"
 | 
			
		||||
#include "commoditytypedata.h"
 | 
			
		||||
 | 
			
		||||
#endif // COMMODITY_DATA_H
 | 
			
		||||
@ -0,0 +1,89 @@
 | 
			
		||||
#include "commoditydata.h"
 | 
			
		||||
#include <define.h>
 | 
			
		||||
 | 
			
		||||
CommodityData::CommodityData(QObject *parent)
 | 
			
		||||
    :QObject(parent)
 | 
			
		||||
{
 | 
			
		||||
}
 | 
			
		||||
int CommodityData::id() const
 | 
			
		||||
{
 | 
			
		||||
    return m_id;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void CommodityData::setId(int id)
 | 
			
		||||
{
 | 
			
		||||
    m_id = id;
 | 
			
		||||
}
 | 
			
		||||
QString CommodityData::name() const
 | 
			
		||||
{
 | 
			
		||||
    return m_name;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void CommodityData::setName(const QString &name)
 | 
			
		||||
{
 | 
			
		||||
    m_name = name;
 | 
			
		||||
}
 | 
			
		||||
QString CommodityData::shortName() const
 | 
			
		||||
{
 | 
			
		||||
    return m_shortName;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void CommodityData::setShortName(const QString &shortName)
 | 
			
		||||
{
 | 
			
		||||
    m_shortName = shortName;
 | 
			
		||||
}
 | 
			
		||||
QString CommodityData::code() const
 | 
			
		||||
{
 | 
			
		||||
    return m_code;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void CommodityData::setCode(const QString &code)
 | 
			
		||||
{
 | 
			
		||||
    m_code = code;
 | 
			
		||||
}
 | 
			
		||||
QSharedPointer<QObject> CommodityData::type() const
 | 
			
		||||
{
 | 
			
		||||
    return m_type;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void CommodityData::setType(const QSharedPointer<QObject> &type)
 | 
			
		||||
{
 | 
			
		||||
    if (qobject_cast<CommodityTypeData*>(type.data()) != NULL) {
 | 
			
		||||
        m_type = qSharedPointerDynamicCast<CommodityTypeData, QObject>(type);
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
QDecDouble CommodityData::price() const
 | 
			
		||||
{
 | 
			
		||||
    return QDecDouble((double)m_price / DEC_MULTIPLE);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void CommodityData::setPrice(const QDecDouble &price)
 | 
			
		||||
{
 | 
			
		||||
    m_price = price.toDouble() * DEC_MULTIPLE;
 | 
			
		||||
}
 | 
			
		||||
Enums::VatType CommodityData::vat() const
 | 
			
		||||
{
 | 
			
		||||
    return m_vat;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void CommodityData::setVat(const Enums::VatType &vat)
 | 
			
		||||
{
 | 
			
		||||
    m_vat = vat;
 | 
			
		||||
}
 | 
			
		||||
int CommodityData::count() const
 | 
			
		||||
{
 | 
			
		||||
    return m_count;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void CommodityData::setCount(int count)
 | 
			
		||||
{
 | 
			
		||||
    m_count = count;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -0,0 +1,64 @@
 | 
			
		||||
#ifndef COMMODITYDATA_H
 | 
			
		||||
#define COMMODITYDATA_H
 | 
			
		||||
 | 
			
		||||
#include <QObject>
 | 
			
		||||
#include <QString>
 | 
			
		||||
#include <odb/core.hxx>
 | 
			
		||||
#include "commoditytypedata.h"
 | 
			
		||||
#include <QDecDouble.hh>
 | 
			
		||||
#include <QSharedDataPointer>
 | 
			
		||||
#include <enums.h>
 | 
			
		||||
 | 
			
		||||
#pragma db object
 | 
			
		||||
class CommodityData : public QObject
 | 
			
		||||
{
 | 
			
		||||
    Q_OBJECT
 | 
			
		||||
    Q_PROPERTY(QString name READ name WRITE setName)
 | 
			
		||||
    Q_PROPERTY(QString shortName READ shortName WRITE setShortName)
 | 
			
		||||
    Q_PROPERTY(QString code READ code WRITE setCode)
 | 
			
		||||
    Q_PROPERTY(QSharedPointer<QObject> type READ type WRITE setType)
 | 
			
		||||
    Q_PROPERTY(QDecDouble price READ price WRITE setPrice)
 | 
			
		||||
    Q_PROPERTY(Enums::VatType vat READ vat WRITE setVat)
 | 
			
		||||
    Q_PROPERTY(int count READ count WRITE setCount)
 | 
			
		||||
 | 
			
		||||
public:
 | 
			
		||||
    CommodityData(QObject *parent = 0);
 | 
			
		||||
 | 
			
		||||
    int id() const;
 | 
			
		||||
    void setId(int id);
 | 
			
		||||
 | 
			
		||||
    QString name() const;
 | 
			
		||||
    void setName(const QString &name);
 | 
			
		||||
 | 
			
		||||
    QString shortName() const;
 | 
			
		||||
    void setShortName(const QString &shortName);
 | 
			
		||||
 | 
			
		||||
    QString code() const;
 | 
			
		||||
    void setCode(const QString &code);
 | 
			
		||||
 | 
			
		||||
    QSharedPointer<QObject> type() const;
 | 
			
		||||
    void setType(const QSharedPointer<QObject> &type);
 | 
			
		||||
 | 
			
		||||
    QDecDouble price() const;
 | 
			
		||||
    void setPrice(const QDecDouble &price);
 | 
			
		||||
 | 
			
		||||
    Enums::VatType vat() const;
 | 
			
		||||
    void setVat(const Enums::VatType &vat);
 | 
			
		||||
 | 
			
		||||
    int count() const;
 | 
			
		||||
    void setCount(int count);
 | 
			
		||||
 | 
			
		||||
private:
 | 
			
		||||
    friend class odb::access;
 | 
			
		||||
#pragma db id auto
 | 
			
		||||
    int m_id;
 | 
			
		||||
    QString m_name;
 | 
			
		||||
    QString m_shortName;
 | 
			
		||||
    QString m_code;
 | 
			
		||||
    QSharedPointer<CommodityTypeData> m_type;
 | 
			
		||||
    int m_price;
 | 
			
		||||
    Enums::VatType m_vat;
 | 
			
		||||
    int m_count;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
#endif // COMMODITYDATA_H
 | 
			
		||||
@ -0,0 +1,38 @@
 | 
			
		||||
#include "commoditytypedata.h"
 | 
			
		||||
 | 
			
		||||
CommodityTypeData::CommodityTypeData(QObject *parent)
 | 
			
		||||
    :ComboItem(parent)
 | 
			
		||||
{
 | 
			
		||||
}
 | 
			
		||||
int CommodityTypeData::id() const
 | 
			
		||||
{
 | 
			
		||||
    return m_id;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void CommodityTypeData::setId(int id)
 | 
			
		||||
{
 | 
			
		||||
    m_id = id;
 | 
			
		||||
}
 | 
			
		||||
QString CommodityTypeData::name() const
 | 
			
		||||
{
 | 
			
		||||
    return m_name;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void CommodityTypeData::setName(const QString &name)
 | 
			
		||||
{
 | 
			
		||||
    m_name = name;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
bool CommodityTypeData::eq(ComboItem *other)
 | 
			
		||||
{
 | 
			
		||||
    CommodityTypeData* ct = qobject_cast<CommodityTypeData *> (other);
 | 
			
		||||
 | 
			
		||||
    return ct != NULL && this->id() ==  ct->id() ;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
QString CommodityTypeData::toString()
 | 
			
		||||
{
 | 
			
		||||
    return this->name();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -0,0 +1,36 @@
 | 
			
		||||
#ifndef COMMODITYTYPEDATA_H
 | 
			
		||||
#define COMMODITYTYPEDATA_H
 | 
			
		||||
 | 
			
		||||
#include <QObject>
 | 
			
		||||
#include <QString>
 | 
			
		||||
#include <odb/core.hxx>
 | 
			
		||||
#include <data/comboitem.h>
 | 
			
		||||
 | 
			
		||||
#pragma db object
 | 
			
		||||
class CommodityTypeData :public ComboItem
 | 
			
		||||
{
 | 
			
		||||
    Q_OBJECT
 | 
			
		||||
    Q_PROPERTY(QString name READ name WRITE setName)
 | 
			
		||||
 | 
			
		||||
public:
 | 
			
		||||
    CommodityTypeData(QObject *parent = 0);
 | 
			
		||||
 | 
			
		||||
    int id() const;
 | 
			
		||||
    void setId(int id);
 | 
			
		||||
 | 
			
		||||
    QString name() const;
 | 
			
		||||
    void setName(const QString &name);
 | 
			
		||||
 | 
			
		||||
private:
 | 
			
		||||
    friend class odb::access;
 | 
			
		||||
    #pragma db id auto
 | 
			
		||||
    int m_id;
 | 
			
		||||
    QString m_name;
 | 
			
		||||
 | 
			
		||||
    // ComboItem interface
 | 
			
		||||
public:
 | 
			
		||||
    bool eq(ComboItem *other);
 | 
			
		||||
    QString toString();
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
#endif // COMMODITYTYPEDATA_H
 | 
			
		||||
					Loading…
					
					
				
		Reference in New Issue