#ifndef PRODUCTSVIEWMODEL_H #define PRODUCTSVIEWMODEL_H #include #include #include "services/modelsregister.h" class SettingsService; class ProductsViewModel : public QObject { Q_OBJECT Q_PROPERTY(QVariantList products READ products NOTIFY productsChanged) Q_PROPERTY(QVariantList order READ order NOTIFY orderChanged) Q_PROPERTY(float orderSum READ orderSum NOTIFY orderChanged) public: explicit ProductsViewModel(QObject *parent = nullptr); QVariantList products() const; QVariantList order() const; float orderSum() const; Q_INVOKABLE void setOrderValue(const QString &productId, float value); Q_INVOKABLE void submitOrder(); signals: void productsChanged(); void orderChanged(); private: SettingsService *settings() const; BaseModel *m_productsModel = ModelsRegister::model("products"); QVariantMap m_order; }; #endif // PRODUCTSVIEWMODEL_H