in app/src/main/java/co/elastic/apm/opbeans/modules/cart/ui/CartViewModel.kt [79:94]
fun doCheckout() {
if (cartItems.isEmpty()) {
internalCartCheckoutState.update { CartCheckoutState.NoItemsToCheckout }
return
}
viewModelScope.launch(MyDispatchers.Main) {
try {
internalCartCheckoutState.update { CartCheckoutState.Started }
orderRepository.createOrder(authManager.getUser(), cartItems)
cartItemRepository.deleteAll()
internalCartCheckoutState.update { CartCheckoutState.Finished }
} catch (e: Throwable) {
internalCartCheckoutState.update { CartCheckoutState.Error(e) }
}
}
}