protected void Page_Load(object sender, EventArgs e) { BankDataAccess accountUpdate; //initilise the bank session Bank CoGB = (Bank)Session["BankDB"]; foreach (KeyValuePair <String, Customer> custEntry in CoGB.CustomerData) { foreach (KeyValuePair <String, Account> accEntry in custEntry.Value.Accounts) { //call update account method accountUpdate = new BankDataAccess(); accountUpdate.updateAccount(accEntry.Value); } } //Delete session variables Session["BankDB"] = null; Session["Login"] = null; Session["Pin"] = null; //return to homepage Response.Redirect("~/index.aspx"); }
//LoadAllPersonData method which takes the retrieved data from the Person and Account //database and assigns it to the Account and Person Classes public void LoadAllPersonData() { string accountNo; decimal balance; string pin; BankDataAccess myDB; DataTable PersonTable; DataTable AccountTable; myDB = new BankDataAccess(); PersonTable = myDB.retrieveAllPersonData(); AccountTable = myDB.retrieveAllAccountData(); for (int i = 0; i <= PersonTable.Rows.Count - 1; i++) { string id = Convert.ToString(PersonTable.Rows[i][0]); string fname = Convert.ToString(PersonTable.Rows[i][1]); string sname = Convert.ToString(PersonTable.Rows[i][2]); string homeAddress = Convert.ToString(PersonTable.Rows[i][3]); string telNo = Convert.ToString(PersonTable.Rows[i][4]); string email = Convert.ToString(PersonTable.Rows[i][5]); string role = Convert.ToString(PersonTable.Rows[i][6]); string mpin = Convert.ToString(PersonTable.Rows[i][7]); //If the data is for a manager it is loaded into the Manager class if (role.Equals("M")) { Manager newmanager = new Manager(id, fname, sname, homeAddress, telNo, email, mpin); bankManagers.Add(id, newmanager); } //If the data is for a customer it is loaded into the Customer class else if (role.Equals("C")) { Customer newcustomer = new Customer(id, fname, sname, homeAddress, telNo, email); BankCustomers.Add(id, newcustomer); //Adds account information to Account Class for (int j = 0; j <= AccountTable.Rows.Count - 1; j++) { accountNo = Convert.ToString(AccountTable.Rows[j][0]); balance = Convert.ToDecimal(AccountTable.Rows[j][1]); pin = Convert.ToString(AccountTable.Rows[j][2]); id = Convert.ToString(AccountTable.Rows[j][3]); if (newcustomer.Id.Trim() == id.Trim()) { newcustomer.addAccount(new Account(accountNo, pin, balance)); } } } } }
//constructor initialises instance variables public Bank() { managerData = new Dictionary <string, Manager>(); customerData = new Dictionary <string, Customer>(); BankDataAccess db = new BankDataAccess(); db.LoadAllPersonData(); managerData = db.GetManagers(); customerData = db.GetCustomers(); atmId = "CoGB"; exchangeRate = 1.12m; timesUsed = 0;//there were zero additions withdrawals = 0; totalBalance = 10000m; failedLogins = 0; cardsRetained = 0; }
public BankServices() { bankDataAccess = new BankDataAccess(); WalletDataAccess = new WalletDataAccess(); }