Part 1 (50%): Implement the required business classes with appropriate validation checks. Make sure business classes are documented using XML comments.
Part 2 (50%): Develop the UI and bind the UI events to the functionality defined in business classes.
Iterative Submissions: You are required to complete and submit this assignment iteratively. Deadlines for both the parts are indicated in SLATE.
Visual Studio 2019 and C#. This application is used in order to maintain a list of cars sold by a dealership that deals in used cars. It allows the user to create car records and search through them. Below are the detailed requirements:
1. Dashboard. The “Dashboard” form is the opening form that allows the user to pick an action. Based upon the choice of the user, one of the following forms get opened:
a. AddCarsForm: Accept Car Details
b. ReportForm: View Car Details
2. Add Cars Form: Allows adding a car record. The user may add a record of a used car with attributes listed below (make sure duplicates are eliminated):
a. LicensePlateNo (string, required, unique),
b. Type (CarType, e.g. Hatchback, Sedan, MPV),
c. Make (string, required),
d. ModelYear (int, e.g 2018, 2017…)
e. ImagePath (string, required, should be valid file name with extension .jpg, png, .gif)
f. MarketPrice (float, >0)).
g. Miles (int, >0),
h. TotalDepreciation (Readonly Property) ” should evaluate to total depreciation amount based upon the values of the depreciation record. Assume that a car depreciates by 10% each year and by .9% per 10,000Km. The application should not accept cars that are more than 5 years old or have a mileage > 110,000Km.
3. Report Form. The Report Form allows the user to view car records in a data grid view (make sure the image of the car is also visible in the grid view). Changing the selection in the grid view should show the MarketPrice and the DepreciatedValue of the selected car in the controls at the bottom of the form.
Part 1 (50%): Class Definitions
1. Class Definitions: Ensure all required properties and methods are implemented. (20%)
2. Class Relationships: Ensure class relationships are correctly identified and implemented. (10%)
3. Validation Checks: Ensure required validation checks are in place. (10%)
4. XML Comments: Ensure all code elements are appropriately documented. (10%)
Part 2 (50%): UI
1. Dashboard: (5%)
2. Add Car Form: (25%)
3. Report Form: (20%)
UI design must follow the following guidelines:
1. Ensure all names follow the naming conventions used in class
2. Ensure the form is displayed centered on the screen.
3. Ensure that all controls are anchored properly to preserve layout quality when the form is resized.
4. Ensure the tab order of all controls is set correctly.
5. Protect all event handlers with try”catch control structures and display all errors resulting from the input validation / business logic, using MessageBoxes.