static void Main(string[] args) { try { Dictionary <string, List <string> > validCommandsWithParameters = getCommandListWithParameters(); // Test if input arguments were supplied: if (!verifyArgs(args, validCommandsWithParameters)) { Main(promptForCommand()); } else { Dictionary <string, string> commandParameters = parseCommandParameters(args); Account account = null; double? accountBalance; switch (commandParameters["command"]) { case "-CreateAccount": account = AccountManager.createAccount(commandParameters); AccountManager.AddOrUpdateAccount(account); Console.WriteLine("Successfully created account number: {0}", account.AccountNumber); break; case "-Login": account = AccountManager.Login(commandParameters); if (account == null) { Console.WriteLine("Login failed."); } Console.WriteLine("Successfully logged in account number: {0}", account.AccountNumber); break; case "-Deposit": accountBalance = AccountManager.Deposit(commandParameters); if (accountBalance != null) { Console.WriteLine("Deposit: ${0}\tNew Balance: ${1}", commandParameters["amount"], Convert.ToString(accountBalance)); } break; case "-Withdrawal": accountBalance = AccountManager.Withdrawal(commandParameters); if (accountBalance != null) { Console.WriteLine("Withdrawal: ${0}\tNew Balance: ${1}", commandParameters["amount"], Convert.ToString(accountBalance)); } break; case "-Balance": accountBalance = AccountManager.Balance(commandParameters); if (accountBalance != null) { Console.WriteLine("Balance: ${0}", Convert.ToString(accountBalance)); } break; case "-Transactions": displayTransactionLog(commandParameters); break; case "-Logout": AccountManager.Logout(commandParameters); break; case "-Help": displayHelp(); Main(promptForCommand()); break; case "-Exit": return; default: Main(promptForCommand()); break; } } } catch (Exception ex) { Console.WriteLine("An error occurred: {0}", ex.Message); Console.WriteLine(); Main(promptForCommand()); return; } Main(promptForCommand()); return; }
public void Save() { string directory = System.Configuration.ConfigurationManager.AppSettings["localCacheDirectory"]; AccountManager.SaveAccountToFile(this, directory + this.UserName + "-" + this.AccountNumber + ".txt"); }
public static bool AccountExists(long accountNumber) { return(AccountManager.AccountNumberUsernameDictionary().ContainsKey(accountNumber)); }
public static bool AccountExists(Account account) { return(AccountManager.UsernameAccountNumberDictionary().ContainsKey(account.UserName)); }
public static Account createAccount(string username, string password, string firstname, string lastname) { initializeCache(); Account acct = new Account(username, password, firstname, lastname, AccountManager.GetNextAccountNumber(username)); string directoryName = ConfigurationManager.AppSettings["localCacheDirectory"]; acct.Save(); return(acct); }