diff options
author | ꦌ ꦫꦶ ꦏ꧀ꦦꦿ ꦧ ꦮ ꦑ ꦩ ꦭ꧀ <erik@darapsa.co.id> | 2020-07-16 08:19:39 +0800 |
---|---|---|
committer | ꦌ ꦫꦶ ꦏ꧀ꦦꦿ ꦧ ꦮ ꦑ ꦩ ꦭ꧀ <erik@darapsa.co.id> | 2020-07-16 08:19:39 +0800 |
commit | e790f72bdbea00c353709dc5a9920527121eb57c (patch) | |
tree | 622a65b4ee9b5e8bd7aa7a9fede9d47b69d82378 /basket.cxx | |
parent | 4ba15985b35566a99e822673fb355a4f4efa09fc (diff) |
Rename basket to ord
Diffstat (limited to 'basket.cxx')
-rw-r--r-- | basket.cxx | 77 |
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(); - } - } - -} |