static void Main(string[] args) { int balance; string accountName; Checking checking = null; Savings savings = null; while (true) { Console.WriteLine("1. Exit program"); Console.WriteLine("2. Create Checking Account"); Console.WriteLine("3. Create Savings Account"); Console.WriteLine("4. Get Checking Balance"); Console.WriteLine("5. Get Savings Balance"); Console.WriteLine("6. Make a Deposit to Checking"); Console.WriteLine("7. Make a Deposit to Savings"); int menuOption = Utils.GetNumber("Enter a menu option: "); if (menuOption == 1) { break; } if (menuOption == 2) { float fIntrestRate = 0.02F; accountName = Utils.GetInput("What would you like to name your account: "); balance = Utils.GetNumber("What is the initial balance of the account: "); checking = new Checking(accountName, balance, fIntrestRate); } if (menuOption == 3) { float fIntrestRate = 0.03F; accountName = Utils.GetInput("What would you like to name your account: "); balance = Utils.GetNumber("What is the initial balance of the account: "); savings = new Savings(accountName, balance, fIntrestRate); } if (menuOption == 4) { Console.WriteLine(checking); } if (menuOption == 5) { Console.WriteLine(savings); } if (menuOption == 6) { int depositAmount = Utils.GetNumber("How much would you like to deposit: "); checking.Deposit(depositAmount); } if (menuOption == 7) { int depositAmount = Utils.GetNumber("How much would you like to deposit: "); savings.Deposit(depositAmount); } } }
/// <summary> /// Withdraws a certain amount of money from the Checking account /// </summary> /// <param name="amount">AMount to be withdrawn</param> /// <param name="checkaccount">Checking account number</param> /// <param name="saveaccount">Savings account number</param> public static void WithdrawChecking(decimal amount, int checkaccount, int saveaccount) { string cs = @"Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=C:\Users\benke\source\repos\ATM\ATM\ATM Database.mdf;Integrated Security = True; Connect Timeout = 30"; SqlConnection con = new SqlConnection(cs); con.Open(); SqlCommand command = new SqlCommand("SELECT [Balance] FROM [Account] WHERE [AccountNumber] = " + checkaccount, con); decimal balance = Convert.ToDecimal(command.ExecuteScalar()); balance = System.Math.Abs(balance); con.Close(); Checking takeout = new Checking(); bool check = takeout.checkamount(balance, amount); decimal newbalance; if (check == true) { con.Open(); newbalance = balance - amount; SqlCommand com2 = new SqlCommand("UPDATE [Account] SET [Balance] = " + newbalance + " WHERE [AccountNumber] = " + checkaccount, con); com2.ExecuteNonQuery(); } else { newbalance = amount - balance; con.Open(); SqlCommand command1 = new SqlCommand("SELECT [Balance] FROM [Account] WHERE [AccountNumber] = " + saveaccount, con); decimal savebalance = Convert.ToDecimal(command1.ExecuteScalar()); savebalance = Math.Abs(savebalance); if (savebalance > newbalance) { decimal newsavebalance = savebalance - newbalance; newbalance = 0; SQLHelper.Deposit(saveaccount, newsavebalance); SqlCommand com1 = new SqlCommand("UPDATE [Account] SET [Balance] = " + newsavebalance + " WHERE [AccountNumber] = " + saveaccount, con); SqlCommand com2 = new SqlCommand("UPDATE [Account] SET [Balance] = " + newbalance + " WHERE [AccountNumber] = " + checkaccount, con); com1.ExecuteNonQuery(); com2.ExecuteNonQuery(); } else { MessageBox.Show("You do not have enough funds for this. Get a job loser."); } } }
void PopulateAcct() { int index = -99; for (int i = 0; i < myAccounts.Length; i++) { if (myAccounts[i] == null) { index = i; break; } } if (index != -99) { Console.WriteLine("\nPlease enter a name to be associated with the type of account you want"); String name = Console.ReadLine(); for (int i = 0; i < myAccounts.Length; i++) { if (myAccounts[i] != null && name.ToLowerInvariant() == myAccounts[i].Name.ToLowerInvariant()) { Console.WriteLine("\nThat name has already been used\n"); Greeting(); return; } if (name == "") { Console.WriteLine("You must enter a name\n"); Greeting(); return; } } Console.WriteLine("\nPlease enter a PIN to use with this account"); String PIN = Console.ReadLine(); if (PIN == "") { Console.WriteLine("You must enter a PIN\n"); Greeting(); return; } Console.WriteLine("\nWhat type of account would you like to open, checking or savings?"); String type = Console.ReadLine(); if (type.Equals("checking", StringComparison.InvariantCultureIgnoreCase)) { myAccounts[index] = new Checking(100, index, name, PIN); Console.WriteLine("\nBalances start at $100, and the annual interest rate is 5%"); } else if (type.Equals("savings", StringComparison.InvariantCultureIgnoreCase)) { myAccounts[index] = new Savings(100, index, name, PIN); Console.WriteLine("\nBalances start at $100, and the annual interest rate is 10%"); } else { Console.WriteLine("\nInvalid account type"); PopulateAcct(); } } else { Console.WriteLine("\nSorry, all available accounts are full\n"); Greeting(); } }