Esempio n. 1
0
        /// <summary>
        /// Shows transaction
        /// </summary>
        public static void ShowTransactions()
        {
            TransactionsDatabase transactionsDatabase = new TransactionsDatabase();

            Console.WriteLine(transactionsDatabase.ShowTransactions());
            ChooseTransAction();
        }
Esempio n. 2
0
        /// <summary>
        /// Transaction menu selection
        /// </summary>
        public static void ChooseTransAction()
        {
            int  input        = -1;
            bool correctInput = false;

            Console.WriteLine("\n" + "Czy chcesz:\n" + "1 - Wyeksportować transakcje do pliku CSV\n" + "2 - Wyczyścić listę transakcji\n" + "9 - Wrócić do poprzedniego ekranu");
            do
            {
                try
                {
                    input = int.Parse(Console.ReadLine());
                    if (input > 0)
                    {
                        correctInput = true;
                    }
                    else
                    {
                        correctInput = false;
                    }
                }
                catch (System.FormatException)
                {
                    Console.WriteLine("To nie jest jedna z opcji");
                    Thread.Sleep(3000);
                    Console.Clear();
                    correctInput = false;
                }
            } while (!correctInput);
            switch (input)
            {
            case 1:
                TransactionsDatabase.ExportCSV();
                break;

            case 2:
                TransactionsDatabase.CleanTransactions();
                break;

            case 9:
                StartAdminLogic();
                break;

            default:
                Console.WriteLine("Coś poszło nie tak");
                Thread.Sleep(3000);
                ChooseTransAction();
                break;
            }
        }
        /// <summary>
        /// Choose a product from the database
        /// </summary>
        /// <param name="products">database to choose from</param>
        public static void ChooseProduct(ProductsDatabase products)
        {
            bool   choosedProduct = false;
            int    prod           = 0;
            double productCost;
            Int64  productQuantity;
            int    length = products.Products.Count;

            do
            {
                Console.Clear();
                ShowCredit();
                Output(products.Show());
                Output(chooseProduct);
                try
                {
                    prod = int.Parse(Input());
                    if (length >= prod)
                    {
                        choosedProduct = true;
                    }
                    else
                    {
                        choosedProduct = false;
                        Output(wrongNumber);
                        Thread.Sleep(2500);
                    }
                }
                catch (System.FormatException)
                {
                    choosedProduct = false;
                    Output(wrongFormat);
                    Thread.Sleep(2500);
                }
            } while (!choosedProduct);
            productQuantity = products.Products[prod - 1].Quantity;
            if (productQuantity > 0)
            {
                productCost = products.Products[prod - 1].Price;

                //check if price is lower or equal to credit
                if (productCost > fullMoney)
                {
                    Output(notEnoughMoney);
                    Thread.Sleep(2500);
                    Console.Clear();
                    Pay();
                }
                else
                {
                    fullMoney = ChangeCalculator.CalculateChange(fullMoney, (float)productCost);
                    ProductsDatabase.Decrement(prod, products);
                    TransactionsDatabase.AddTransaction(prod);
                    Console.Clear();
                }
            }
            else
            {
                Output(itemUnavailable);
                EndTransaction();
                Pause();
                StartMachine();
            }
        }