Models registry was added
This commit is contained in:
@@ -2,13 +2,15 @@
|
||||
|
||||
#include <QDateTime>
|
||||
|
||||
#include "models/basemodel.h"
|
||||
|
||||
OrdersViewModel::OrdersViewModel(QObject *parent)
|
||||
: QAbstractListModel{parent}
|
||||
{
|
||||
connect(&m_ordersModel, &BaseModel::dataChanged, this, &OrdersViewModel::reload);
|
||||
connect(&m_usersModel, &BaseModel::dataChanged, this, &OrdersViewModel::reload);
|
||||
connect(&m_productsModel, &BaseModel::dataChanged, this, &OrdersViewModel::reload);
|
||||
connect(&m_storesModel, &BaseModel::dataChanged, this, &OrdersViewModel::reload);
|
||||
connect(m_ordersModel, &BaseModel::dataChanged, this, &OrdersViewModel::reload);
|
||||
connect(m_usersModel, &BaseModel::dataChanged, this, &OrdersViewModel::reload);
|
||||
connect(m_productsModel, &BaseModel::dataChanged, this, &OrdersViewModel::reload);
|
||||
connect(m_storesModel, &BaseModel::dataChanged, this, &OrdersViewModel::reload);
|
||||
|
||||
reload();
|
||||
}
|
||||
@@ -45,18 +47,18 @@ void OrdersViewModel::reload()
|
||||
|
||||
m_model.clear();
|
||||
|
||||
for (const QVariant &vOrder : m_ordersModel.orders()) {
|
||||
for (const QVariant &vOrder : m_ordersModel->items()) {
|
||||
QVariantMap order = vOrder.toMap();
|
||||
QDateTime orderTime = QDateTime::fromSecsSinceEpoch(order.value("ts", 0).toDouble());
|
||||
order["date"] = orderTime.date();
|
||||
order["time"] = orderTime.time();
|
||||
order["userName"] = m_usersModel.itemProperty(order["userId"].toString(), "name").toString();
|
||||
order["storeName"] = m_storesModel.itemProperty(order["storeId"].toString(), "name").toString();
|
||||
order["userName"] = m_usersModel->itemProperty(order["userId"].toString(), "name").toString();
|
||||
order["storeName"] = m_storesModel->itemProperty(order["storeId"].toString(), "name").toString();
|
||||
|
||||
QVariantList prodModel;
|
||||
for (const QVariant &prod : order["products"].toList()) {
|
||||
QVariantMap product = prod.toMap();
|
||||
product["product"] = m_productsModel.itemProperty(product.value("productId").toString(), "name");
|
||||
product["product"] = m_productsModel->itemProperty(product.value("productId").toString(), "name");
|
||||
prodModel << product;
|
||||
}
|
||||
order["products"] = prodModel;
|
||||
@@ -64,7 +66,7 @@ void OrdersViewModel::reload()
|
||||
m_model << order;
|
||||
}
|
||||
|
||||
std::sort(m_model.begin(), m_model.end(), [](const QVariant &l, const QVariant &r) {
|
||||
std::sort(m_model.begin(), m_model.end(), [](const QVariant &l, const QVariant &r) -> bool {
|
||||
return l.toMap().value("ts").toDouble() < r.toMap().value("ts").toDouble();
|
||||
});
|
||||
|
||||
|
||||
Reference in New Issue
Block a user