Question: Objective: Create a console - based Employee Management System that allows you to add, view, update, and delete employee records. This project will help your
Objective: Create a consolebased Employee Management System that allows you to add, view, update,
and delete employee records. This project will help your students practice the concepts of classes,
inheritance, user interface, and event handling.
Project Structure:
Employee Class Base Class:
Properties: Employee ID First Name, Last Name, Email, and Salary.
Methods: Constructor, GetDetails to display employee details and a virtual method CalculateSalary to
calculate salary
FullTimeEmployee Class Inherited from Employee:
Properties: Fulltime employeespecific data eg Bonus
Override the CalculateSalary method to calculate the salary for fulltime employees base salary
bonus
PartTimeEmployee Class Inherited from Employee:
Properties: Parttime employeespecific data eg HourlyRate, HoursWorked
Override the CalculateSalary method to calculate the salary for parttime employees hourly rate hours
worked
EmployeeRepository Class:
Create an EmployeeRepository class to manage employee records add view, update, delete
Use a collection eg List to store employee objects.
User Interface Console Application:
Create a menudriven console application for interacting with the Employee Management System.
Options: Add Employee, View Employee, Update Employee, Delete Employee, and Exit.
Event Handling:
Implement event handling to log important actions like adding, updating, and deleting employees.
Create an event in the EmployeeRepository class and subscribe to it in the user interface.
Project Implementation Guidelines:
Create the necessary classes Employee FullTimeEmployee, PartTimeEmployee, EmployeeRepository
with properties, methods, and event handling.
Implement the user interface with a menu system, where users can choose different actions.
Use exception handling to handle errors gracefully eg invalid input, employee not found
Implement appropriate validation for user inputs eg validate email format, numeric inputs, etc.
Ensure proper formatting of displayed data to make the user interface userfriendly.
Implement logging of actions using events eg when an employee is added, updated, or deleted
Project Size: The project code should be around lines of code, but this can vary depending on
the level of detail and features you want to include.
Step by Step Solution
There are 3 Steps involved in it
1 Expert Approved Answer
Step: 1 Unlock
Question Has Been Solved by an Expert!
Get step-by-step solutions from verified subject matter experts
Step: 2 Unlock
Step: 3 Unlock
