Please use c# programming language.
Design a class named Person with properties for holding a person’s name, address, and telephone number.
Design a class named Customer, which is derived from the Person class. The Customer class should have the variables and properties for the customer number, customer email, a spentAmount of the customer’s purchases, and a Boolean variable indicating whether the customer wishes to be on a mailing list. It also includes a function named calcAmount that calculates the spentAmount.
All retail store has a preferred customer plan where customers can earn discounts on all their purchases. The amount of a customer’s discount is determined by the amount of the customer’s cumulative purchases in the store as follows:
When a preferred customer spends $500, he or she getsa 5% discount on all future purchases.
When a preferred customer spends $1000, he or she getsa 6% discount on all future purchases.
When a preferred customer spends $1500, he or she getsan 8% discount on all future purchases.
When a preferred customer spends $2000, he or she getsa 10% discount on all future purchases.
Design a class named PreferredCustomer, which is derived from the Customer class. The PreferredCustomer class should have a variable, discountLevel, with a read-only property. It alsoincludes a setDiscountLevel function that determine the discount level based on the purchases amount using switch statement and an override function, calcAmount, calculates the spentAmount with the current discount level.
Create a CustomerDemo class. In the main function, the program calls the getData function to read the data from the “CustomerInfo.txt” file and create a dynamic array of PreferredCustomer object. Then, it prompts user to enter a customer number and displays a menu:
DisplayCustomer Information: display the specific customer information
Update SpentAmount: update the total amount with the correct discount level
After update the spent Amount, the program writes the updated information back to file.