Пример #1
0
        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;
        }
Пример #2
0
        public void Save()
        {
            string directory = System.Configuration.ConfigurationManager.AppSettings["localCacheDirectory"];

            AccountManager.SaveAccountToFile(this, directory + this.UserName + "-" + this.AccountNumber + ".txt");
        }
Пример #3
0
 public static bool AccountExists(long accountNumber)
 {
     return(AccountManager.AccountNumberUsernameDictionary().ContainsKey(accountNumber));
 }
Пример #4
0
 public static bool AccountExists(Account account)
 {
     return(AccountManager.UsernameAccountNumberDictionary().ContainsKey(account.UserName));
 }
Пример #5
0
        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);
        }