diff options
author | Torsten Grote <t@grobox.de> | 2020-02-20 15:31:18 -0300 |
---|---|---|
committer | Torsten Grote <t@grobox.de> | 2020-02-20 15:32:56 -0300 |
commit | 99b760a29415349a99fd8db4354c8a81c713226a (patch) | |
tree | 9227753f0220b60235efe4bd10315859a5b7c773 /app/src/main/java/net/taler/merchantpos/order/Definitions.kt | |
parent | 4734bd6e19efc7cc37d138c8c63850cb36a596ba (diff) | |
download | merchant-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.kt | 8 |
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> |