Assignment
The payment gateway API has three methods that provide users to pay, withdraw, and read a statement from an account. The user must connect to the gateway first and then access the account and when the transaction is done the user has to disconnect from the gateway.
The account can be a Bank account, Shares/Bonds account, and Goods account.
Create a program implementing the payment gateway with following properties and behaviors:
1. The user has a username, password, and name. In addition, users can connect, disconnect to the gateway and access their accounts.
2. All types of accounts have the following properties: owner(s) (user/s), type (shared/ not shared), and number (unique ID).
3. Bank accounts contain information about currencies and the amounts. The user can make a deposit to the accounts, transfer to the other account, and withdraw money from the account.
4. Shares/Bonds account contains information about shares, bonds, amounts, and shareholder's percentage for the shares. The user can buy, sell, and transfer to another shares/bonds.PROG-8050 Fall 2021
5. Goods account has the type of the goods, amounts, and trading unit for each good (grams, kilos, Uncas, etc.). The user can buy and sell the goods
A. Design: Define and design all necessary program elements such as interfaces, classes, and abstract classes. Additionally, define all relations among the interfaces, classes, and abstract classes.
B. Implementation: Write C# implementation of the elements defined in 1. Each element (interface, abstract class, and class) should be defined in different namespaces.
C. Testing and post analyses: Write class Payment Gateway in C# which contains static Main method which provides a using of the Payment Gateway:
a. Connect a user to the gateway
b. List all user accounts
c. Buy/Sell shares and goods
d. Make a deposit and withdraw from a bank account
e. Print account statement for the user.