private static void MenuSelection() { int menuSelection = -1; while (menuSelection != 0) { Console.WriteLine(""); Console.WriteLine("Welcome to TEnmo! Please make a selection: "); Console.WriteLine("1: View your current balance"); Console.WriteLine("2: View your past transfers"); Console.WriteLine("3: View your pending requests"); Console.WriteLine("4: Send TE bucks"); Console.WriteLine("5: Request TE bucks"); Console.WriteLine("6: Log in as different user"); Console.WriteLine("0: Exit"); Console.WriteLine("---------"); Console.Write("Please choose an option: "); if (!int.TryParse(Console.ReadLine(), out menuSelection)) { Console.WriteLine("Invalid input. Please enter only a number."); } else if (menuSelection == 1) { Console.WriteLine("Your current balance is: $" + API_BASE_URL.GetBalance()); } else if (menuSelection == 2) { PrintTransferDetails(API_BASE_URL.GetListOfTransfers());//list user's names } else if (menuSelection == 3) { PrintPendingRequests(API_BASE_URL.GetPendingTransfers()); List <int> pendingTransferIds = new List <int>(); foreach (Transfer t in API_BASE_URL.GetPendingTransfers()) { pendingTransferIds.Add(t.TransferId); } int transferId = PromptForTransferId(pendingTransferIds); if (transferId != 0) { int acceptOrReject = AcceptReject(); if (acceptOrReject == 1) { API_BASE_URL.ReceivePendingRequest(transferId); } else if (acceptOrReject == 2) { API_BASE_URL.RejectTransferRequest(transferId); } } } else if (menuSelection == 4) { PrintTEBucks(API_BASE_URL.GetUsers()); int id = PromptForUserIDSelection(); decimal amount = 0; if (id != 0) { amount = PromptForAmountSelection(); } API_BASE_URL.TransferFunds(id, amount); } else if (menuSelection == 5) { PrintTEBucks(API_BASE_URL.GetUsers()); int id = PromptForUserIDSelection(); decimal amount = 0; if (id != 0) { amount = PromptForAmountSelection(); API_BASE_URL.RequestMoney(id, amount); } } else if (menuSelection == 6) { Console.WriteLine(""); UserService.SetLogin(new API_User()); //wipe out previous login info Run(); //return to entry point } else { Console.WriteLine("Goodbye!"); Environment.Exit(0); } } }