summaryrefslogtreecommitdiff
path: root/app
diff options
context:
space:
mode:
authorTorsten Grote <t@grobox.de>2020-02-20 17:15:40 -0300
committerTorsten Grote <t@grobox.de>2020-02-20 17:15:40 -0300
commit39af919b68c2b9a50eb39b20838321c8d730dbcd (patch)
tree44c96bfc9c9a25f1f7564678bdab328e85d3d9a6 /app
parent4f96a05d39626be0546879a29c5fed49225fa513 (diff)
downloadmerchant-terminal-android-39af919b68c2b9a50eb39b20838321c8d730dbcd.tar.gz
merchant-terminal-android-39af919b68c2b9a50eb39b20838321c8d730dbcd.tar.bz2
merchant-terminal-android-39af919b68c2b9a50eb39b20838321c8d730dbcd.zip
Check for duplicate product IDs
Diffstat (limited to 'app')
-rw-r--r--app/src/main/java/net/taler/merchantpos/order/OrderManager.kt6
1 files changed, 6 insertions, 0 deletions
diff --git a/app/src/main/java/net/taler/merchantpos/order/OrderManager.kt b/app/src/main/java/net/taler/merchantpos/order/OrderManager.kt
index 1ff04d8..d7db048 100644
--- a/app/src/main/java/net/taler/merchantpos/order/OrderManager.kt
+++ b/app/src/main/java/net/taler/merchantpos/order/OrderManager.kt
@@ -68,12 +68,18 @@ class OrderManager(private val mapper: ObjectMapper) : ConfigurationReceiver {
// group products by categories
productsByCategory.clear()
+ val seenIds = ArrayList<String>()
products.forEach { product ->
val productCurrency = fromString(product.price).currency
if (productCurrency != currency) {
Log.e(TAG, "Product $product has currency $productCurrency, $currency expected")
return false
}
+ if (seenIds.contains(product.id)) {
+ Log.e(TAG, "Product $product has duplicate product_id ${product.id}")
+ return false
+ }
+ seenIds.add(product.id)
product.categories.forEach { categoryId ->
val category = categories.find { it.id == categoryId }
if (category == null) {