summaryrefslogtreecommitdiff
path: root/app/src/main/java/net/taler/merchantpos/order/Definitions.kt
diff options
context:
space:
mode:
authorTorsten Grote <t@grobox.de>2020-02-20 15:31:18 -0300
committerTorsten Grote <t@grobox.de>2020-02-20 15:32:56 -0300
commit99b760a29415349a99fd8db4354c8a81c713226a (patch)
tree9227753f0220b60235efe4bd10315859a5b7c773 /app/src/main/java/net/taler/merchantpos/order/Definitions.kt
parent4734bd6e19efc7cc37d138c8c63850cb36a596ba (diff)
downloadmerchant-terminal-android-99b760a29415349a99fd8db4354c8a81c713226a.tar.gz
merchant-terminal-android-99b760a29415349a99fd8db4354c8a81c713226a.tar.bz2
merchant-terminal-android-99b760a29415349a99fd8db4354c8a81c713226a.zip
Allow editing order with -1 and +1 buttons
Diffstat (limited to 'app/src/main/java/net/taler/merchantpos/order/Definitions.kt')
-rw-r--r--app/src/main/java/net/taler/merchantpos/order/Definitions.kt8
1 files changed, 8 insertions, 0 deletions
diff --git a/app/src/main/java/net/taler/merchantpos/order/Definitions.kt b/app/src/main/java/net/taler/merchantpos/order/Definitions.kt
index 57666d7..ce2e464 100644
--- a/app/src/main/java/net/taler/merchantpos/order/Definitions.kt
+++ b/app/src/main/java/net/taler/merchantpos/order/Definitions.kt
@@ -78,6 +78,14 @@ data class Order(val availableCategories: Map<Int, Category>) {
products[product] = (products[product] ?: 0) + 1
return this
}
+
+ operator fun minus(product: ConfigProduct): Order {
+ var quantity = products[product] ?: throw IllegalStateException()
+ quantity -= 1
+ if (quantity > 0) products[product] = quantity
+ else products.remove(product)
+ return this
+ }
}
typealias OrderLine = Pair<ConfigProduct, Int>