Designing Classes in C# for Customer Management System

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.

 

Our customer support team is here to answer your questions. Ask us anything!