/// <summary> /// Shows transaction /// </summary> public static void ShowTransactions() { TransactionsDatabase transactionsDatabase = new TransactionsDatabase(); Console.WriteLine(transactionsDatabase.ShowTransactions()); ChooseTransAction(); }
/// <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(); } }