From e790f72bdbea00c353709dc5a9920527121eb57c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=A6=8C=20=EA=A6=AB=EA=A6=B6=20=EA=A6=8F=EA=A7=80?= =?UTF-8?q?=EA=A6=A6=EA=A6=BF=20=EA=A6=A7=20=EA=A6=AE=20=EA=A6=91=20?= =?UTF-8?q?=EA=A6=A9=20=EA=A6=AD=EA=A7=80?= Date: Thu, 16 Jul 2020 08:19:39 +0800 Subject: Rename basket to ord --- basket.cxx | 77 -------------------------------------------------------------- 1 file changed, 77 deletions(-) delete mode 100644 basket.cxx (limited to 'basket.cxx') 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 -#include -#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 Basket::roleNames() const - { - return QHash{ - {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(); - } - } - -} -- cgit v1.2.3