summaryrefslogtreecommitdiff
path: root/basket.cxx
diff options
context:
space:
mode:
authorꦌ ꦫꦶ ꦏ꧀ꦦꦿ ꦧ ꦮ ꦑ ꦩ ꦭ꧀ <erik@darapsa.co.id>2020-07-16 08:19:39 +0800
committerꦌ ꦫꦶ ꦏ꧀ꦦꦿ ꦧ ꦮ ꦑ ꦩ ꦭ꧀ <erik@darapsa.co.id>2020-07-16 08:19:39 +0800
commite790f72bdbea00c353709dc5a9920527121eb57c (patch)
tree622a65b4ee9b5e8bd7aa7a9fede9d47b69d82378 /basket.cxx
parent4ba15985b35566a99e822673fb355a4f4efa09fc (diff)
Rename basket to ord
Diffstat (limited to 'basket.cxx')
-rw-r--r--basket.cxx77
1 files changed, 0 insertions, 77 deletions
diff --git a/basket.cxx b/basket.cxx
deleted file mode 100644
index ffbecf4..0000000
--- a/basket.cxx
+++ /dev/null
@@ -1,77 +0,0 @@
-#include <algorithm>
-#include <icclient/ord.h>
-#include "qicclient/basket.hxx"
-
-namespace QICClient {
-
- int Basket::rowCount(QModelIndex const& parent) const
- {
- Q_UNUSED(parent)
- return items.count();
- }
-
- QVariant Basket::data(QModelIndex const& index, int role) const
- {
- auto row = index.row();
-
- if (row < 0 || row >= items.count()) return QVariant();
-
- auto item = items[row];
- switch (role) {
- case Product::SkuRole:
- return item.product.sku;
- case Product::DescriptionRole:
- return item.product.description;
- case Product::PriceRole:
- return item.product.price;
- case Item::QuantityRole:
- return item.quantity;
- default:
- return QVariant();
- }
- }
-
- QHash<int, QByteArray> Basket::roleNames() const
- {
- return QHash<int, QByteArray>{
- {Product::SkuRole, "sku"}
- , {Product::DescriptionRole, "description"}
- , {Product::PriceRole, "price"}
- , {Item::QuantityRole, "quantity"}
- };
- }
-
- void Basket::addItem(Item const& item)
- {
- auto product = item.product;
- auto iterator = std::find_if(items.begin(), items.end()
- , [&product](Item const& item) {
- return product.sku == item.product.sku;
- });
- if (iterator != items.end()) {
- auto index = items.indexOf(*iterator);
- beginRemoveRows(QModelIndex(), index, index);
- items.removeAt(index);
- endRemoveRows();
- }
-
- beginInsertRows(QModelIndex(), rowCount(), rowCount());
- items << item;
- endInsertRows();
- emit rowCountChanged();
- }
-
- void Basket::setData(struct icclient_ord_order* order)
- {
- if (order) {
- this->m_data = order;
- for (size_t i = 0; i < order->nitems; i++)
- addItem(Item{order->items[i]});
- m_subtotal = order->subtotal;
- emit subtotalChanged();
- m_totalCost = order->total_cost;
- emit totalCostChanged();
- }
- }
-
-}