Question: Final Project: Online Banking Application Description: In this final project you will create an online banking application for a new bank. A new bank is

Final Project: Online Banking Application
Description: In this final project you will create an online banking application for a new bank. A new bank is opening in town and you have been tasked with creating a mock-up of an online banking application. The application will load customer data from a csv file and allow cutomers to log in and access a number of services like depositing, withdrawals, transfers, etc. The customer data file should be updated as account services are used. There will also be an administrator login section for bank employees to log in and view different reports. You are also given ans employee data file with employee information.
Project Files: FinalProjectFiles.zipDownload FinalProjectFiles.zip
The data in the customer_data.csv file is formatted as follows:
account_number,PIN,first_name,last_name,balance,account_type,loan_type,loanBalance
Requirements:
Create an online banking application C# project named BankingApplication according to the requirements specified in this document. The application will load customer data from a csv file and allow users to log in and access a number of services like depositing, withdrawals, transfers, etc. There will also be an administrator login section where an employee can log in to view different reports.
Working Demo
Customer & Employee Objects
Your program will create objects for your customers and employees. Your customer and employee classes will inherit from an abstract class called Person
Person Class (parent/base)
Your person class should be an abstract class with the following properties/fields
First Name
Last Name
Your person class should also have the following method:
GetInfo() abstract method - this method will be and abstract method and will be overridden in the child classes, Customer and Employee.
Customer & Employee Class (child/derived)
Your Customer and Employee classes will inherit from the Person class. You should implement these classes with all the fields/properties, and methods needed to make your program work. In the employee class, the job title should be an enumerated type with values Manager, LoanOfficer
When you override and implement the GetInfo() method in Employee and Customer the method for these should output the following:
Customer GetInfo() Output
---------- ACCOUNT #:XXXXXXXXXXXXXXXX --------------
Name: Customer Name
Savings Account Balance: $XXX.XX
Home Loan Balance: $XXXXXX.XX
The customer's name should appear where it says Customer Name, and the customer's data for account number, account balance, and loan balance should appear in place of the XX's
Employee GetInfo() Output
Name: Employee Name - Title: Employee Title
The employees's name should appear where it says Employee Name, and title where it says Employee Title
Menus
For menus in the application, the user makes a selection from the menu by entering the number of their choice. If the user enters something other than a number or a number in the range of the choices provided in the menu they are to be given feedback that their choice is not valid and asked for the input again. Under no circumstance should input from the user crash the program.
When the application starts the following menu and prompt is displayed.
Welcome to your Online Banking Application!
1. Account Login
2. Create Account
3. Administrator Login
4. Quit
Select Option:
User Choices:
Choosing this option allows the user to log in by providing an account number and PIN. After the user logs in they should then shown the menu with account service options.
Choosing this option allows the user to create an account. Creating an account requires the 8 values present in the account_data file. When creating an account the user is asked to provide the following four values:
- First Name
- Last Name
- PIN (must be 4 digits)
- Choose an account type (Savings or Checking). When creating an account object the account type should be and enumerated type with values Savings, Checking
The remaining four values are:
- balance: The initial balance when creating an account is set to 100
- loan type: This value is set to None when a new customer account is created. Loan type should be an enumerated type with values Home, Auto, Personal, None
- loan amount: this value is set to 0 when a new customer account is created
- Account number: the application should auto generate this value. The account number should be 16 digits. The first 6 digits will always be 183977. the remaining 10 digits should be randomly generated.
Choosing this option allows the user to log in as an employee by providing an employee's username and password.
Quits the application and the program is to exit.
1. Account Login
The program should behave like the following when logging in.
acct_login.png
Notice that error checking is implemented that ensures the user enters a value. When successfully logged, the user is presented with the account services menu.
2. Create Account
The program should behave like the foll

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Programming Questions!