예제 #1
0
    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");
    }
예제 #2
0
    //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));
                    }
                }
            }
        }
    }
예제 #3
0
    //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;
    }
예제 #4
0
 public BankServices()
 {
     bankDataAccess   = new BankDataAccess();
     WalletDataAccess = new WalletDataAccess();
 }