0% found this document useful (0 votes)
4 views4 pages

ASM2

The document outlines the requirements for developing a Car Management System using C# and WPF, focusing on managing car information through a desktop application. Key features include a user interface with a search function, the ability to add, update, and delete car records, and adherence to a clear MVVM architecture. Technical specifications include using .NET 8 or later, Entity Framework Core, and SQL Server, with an emphasis on data validation and error handling.

Uploaded by

provodoi2013
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
4 views4 pages

ASM2

The document outlines the requirements for developing a Car Management System using C# and WPF, focusing on managing car information through a desktop application. Key features include a user interface with a search function, the ability to add, update, and delete car records, and adherence to a clear MVVM architecture. Technical specifications include using .NET 8 or later, Entity Framework Core, and SQL Server, with an emphasis on data validation and error handling.

Uploaded by

provodoi2013
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

PRN212 - ASSIGNMENT 2

Develop A Car Management System


Using C# to create a WPF project to manage a Car Management System (Using the
given project to perform your solution).
Objective
Develop a desktop application using C# and WPF (Windows Presentation Foundation)
to manage car information. The application will connect to a predefined database,
CarManagementDB.
Requirements
1. User Interface (UI)
o Use WPF to create the user interface for the application (predefined design
provided).
o The main interface includes:
 A search box to search for cars by name.
 A DataGrid displaying a list of cars with the following information:
Car ID, Car Name, Make, Model, Year, Price, Fuel Type, Engine
Type, and Features.
 Buttons for adding, updating, deleting, and closing the application.
o Details:
 Year of Manufacture: Fill a ComboBox dynamically at runtime
(from 2018 -> now).
 Color and Engine Type: Retrieved from the database.
2. Search Functionality
o Allow users to enter information into the search box and filter the car list
in the DataGrid based on the entered data.
3. Add New Car Functionality
o Display a new window to input detailed information about the car.
o Fields include: Car ID, Car Name, Brand, Model, Year of Manufacture,
Price, Color, Fuel Type, Engine Type, Order Date, and Features.
o On clicking the "Save" button, the information is added to the database.
4. Update Car Functionality
huyvv10@[Link] 1/4
o Allow users to select a car from the DataGrid and open a dialog window
to edit its details.
o Display the current car information in the corresponding input fields.
o Save the changes to the database and close the dialog after clicking the
"Save" button.
5. Delete Car Functionality
o Allow users to select a car from the DataGrid and delete it from the
database.
o Display a confirmation message before deletion.
6. Close Application Functionality
o Provide a "Close" button to exit the application.
Technical Requirements
• Programming Language: C#
• Framework: .NET 8 or later
• Technologies: Entity Framework Core, LINQ, SQL Server
• Database: Use the predefined CarManagementDB database.
• Architecture: Adhere to a clear MVVM (Model-View-ViewModel) pattern:
o Models - Data Access Layer (DAL): Handles database connections and
operations.
o ViewModels - Business Logic Layer (BLL): Manages the application’s
logic.
o Views - Presentation Layer (PL): Represents the user interface (WPF).
• Data Validation: Validate all input fields before saving data to the database (e.g.,
Price must not be negative, Order Date must not be in the future, etc.).
Evaluation Criteria
• Functionality: All specified features work correctly.
• Code Architecture: Code is well-structured, clear, and easy to read.
• Error Handling: Proper error handling is implemented, with appropriate
messages shown to the user when issues occur.

huyvv10@[Link] 2/4
huyvv10@[Link] 3/4
huyvv10@[Link] 4/4

You might also like