private static async Task ShowOneAccountSelector(IOandaApiConnection connection) { var selection = -1; while (selection != 0) { // Print out menu header Console.Clear(); Console.WriteLine("===================="); Console.WriteLine("= Specific account ="); Console.WriteLine("===================="); // Print out accounts as menu points var accounts = connection.GetAccounts(); foreach (var account in accounts.Select((content, index) => new { index = index + 1, content })) { Console.WriteLine($"{account.index}) {account.content.Id}"); } // Add exit menu point Console.WriteLine("0) Exit"); // Wait for user selection Console.WriteLine(""); Console.Write("Please select an account: "); selection = Utilities.TryParseIntegerValue(Console.ReadLine(), 0, Convert.ToInt32(accounts.Count())); // Handle selection if (selection != 0) { await ShowOneAccountMenu(connection, accounts.ElementAt(selection - 1).Id); } } }
private static void ShowAllAccounts(IOandaApiConnection connection) { // Print out menu header Console.Clear(); Console.WriteLine("================"); Console.WriteLine("= All accounts ="); Console.WriteLine("================"); Console.WriteLine(""); // Collect and print out accounts var accounts = connection.GetAccounts(); foreach (var account in accounts) { Console.WriteLine(JToken.Parse(account.ToJson())); Console.WriteLine(""); } // Wait for a keypress to go back to menu selector Console.WriteLine("Press any key to continue"); Console.ReadKey(); }