diff options
author | Torsten Grote <t@grobox.de> | 2020-02-20 17:15:40 -0300 |
---|---|---|
committer | Torsten Grote <t@grobox.de> | 2020-02-20 17:15:40 -0300 |
commit | 39af919b68c2b9a50eb39b20838321c8d730dbcd (patch) | |
tree | 44c96bfc9c9a25f1f7564678bdab328e85d3d9a6 /app | |
parent | 4f96a05d39626be0546879a29c5fed49225fa513 (diff) | |
download | merchant-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.kt | 6 |
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) { |