fun doCheckout()

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) }
            }
        }
    }