summaryrefslogtreecommitdiff
path: root/interchange/product.hxx
diff options
context:
space:
mode:
authorꦌꦫꦶꦏ꧀ꦦꦿꦧꦮꦑꦩꦭ꧀ <erik@darapsa.co.id>2022-09-25 10:55:36 +0800
committerꦌꦫꦶꦏ꧀ꦦꦿꦧꦮꦑꦩꦭ꧀ <erik@darapsa.co.id>2022-09-25 10:55:36 +0800
commit18508ea004a66cc30c42c43d14afdc16b2267666 (patch)
tree1171e1d6c8259bb3446b229e298243bb33d47a04 /interchange/product.hxx
parent91bffad1e8afef36eedf51b50a80a7edf6400f7d (diff)
Rename project to qinterchange
Diffstat (limited to 'interchange/product.hxx')
-rw-r--r--interchange/product.hxx63
1 files changed, 63 insertions, 0 deletions
diff --git a/interchange/product.hxx b/interchange/product.hxx
new file mode 100644
index 0000000..a7f3587
--- /dev/null
+++ b/interchange/product.hxx
@@ -0,0 +1,63 @@
+#ifndef INTERCHANGE_PRODUCT_HXX
+#define INTERCHANGE_PRODUCT_HXX
+
+#include <interchange.h>
+
+namespace Interchange {
+
+ struct Product
+ {
+ enum ProductRoles {
+ SkuRole = Qt::UserRole + 1,
+ DescriptionRole,
+ CommentRole,
+ ThumbRole,
+ ImageRole,
+ PriceRole,
+ ProdGroupRole,
+ WeightRole,
+ AuthorRole,
+ CrossSellRole
+ };
+
+ Product() {}
+ Product(struct interchange_product* product) :
+ price{product->price},
+ weight{product->weight}
+ {
+ if (product->sku)
+ sku = QString{product->sku};
+ if (product->description)
+ description = QString{product->description};
+ if (product->comment)
+ comment = QString{product->comment};
+ if (product->thumb)
+ thumb = QString{product->thumb};
+ if (product->image)
+ image = QString{product->image};
+ if (product->prod_group)
+ prodGroup = QString{product->prod_group};
+ if (product->author)
+ author = QString{product->author};
+ if (product->crosssell) {
+ auto crosssell = product->crosssell;
+ for (size_t i = 0; i < crosssell->length; i++)
+ crossSell << QString{crosssell->skus[i]};
+ }
+ }
+
+ QString sku;
+ QString description;
+ QString comment;
+ QString thumb;
+ QString image;
+ double price;
+ QString prodGroup;
+ double weight;
+ QString author;
+ QStringList crossSell;
+ };
+
+}
+
+#endif