Esempio n. 1
0
        public void Run()
        {
            WriteCurrentBalanceMessage(user);

            bool done = false;

            while (!done)
            {
                Console.Write(store.GetProductList());

                string productId = ReadProductId();

                if (productId.Equals("quit"))
                {
                    done = true;
                }
                else if (!productId.Equals(""))
                {
                    Product product = store.GetProductById(productId);

                    WriteProductToPurchaseMessage(product);

                    int purchaseQuantity = GetPurchaseQuantity(product);

                    try
                    {
                        if (purchaseQuantity > 0)
                        {
                            store.Purchase(productId, purchaseQuantity);
                            WriteSuccessfulPurchaseMessage(product, purchaseQuantity);
                        }
                        else
                        {
                            WritePurchaseCancelledMessage();
                        }
                    }
                    catch (InsufficientFundsException)
                    {
                        WriteInsufficientFundsMessage();
                    }
                    catch (OutOfStockException)
                    {
                        WriteOutOfStockMessage(product);
                    }
                }
            }

            WaitForConsoleClose();
        }