<SRS> SRS02 : Employee Management </SRS>
<Changes>
- Created FileIO for reading and writing files
- Created FileManager to use FileIO
- Set up Trenser.FileManager as a DLL
- Linked DLL with Trenser.Zenvy project
- Fixed duplicate function issue by marking deactivateEmployee as inline
- Cleaned up unused methods in controller and service
</Changes>
<Review>
Smitha Mohan
</Review>
<UserStory> EMP002 : Deactivate Employee </UserStory>
<Changes>
- Updated employee listing to display in a tabular format with headers
- Renamed helper function from listActiveEmployees to listEmployees
- Updated error messages
- Removed blank spaces
</Changes>
<Review>
Smitha Mohan
</Review>
<UserStory>
EMP002 : Deactivate Employee
</UserStory>
<Changes>
- Added deactivateEmployee logic to set employee status to INACTIVE
- Enabled Deactivate Employee option in AdminMenu
- Implemented listing of active employees for selection
- Connected UI flow for employee deactivation
- Fix minor syntax issues
</Changes>
<Review>
Smitha Mohan
</Review>
<UserStory> EMP006 : Search Employee </UserStory>
<Changes>
- Updated MenuHelper.h helper file for input validation
- Updated search employee logic in employee management service
- Removed comments in Enums.h and EmployeeManagementService.h
- Included MenuHelper.h in all User Menu files
</Changes>
<Review>
Smitha Mohan
</Review>
<UserStory>EMP08: Update Salary Details</UserStory>
<Changes>
- Added `updateSalary` method in ZenvyController to connect payroll updates with PayslipManagementService
- Implemented `PayslipManagementService::updateSalary` with employee existence and Finance-role authorization checks
- Extended Payroll model with setter methods for salary components
- Improved error handling with clear runtime exceptions for invalid index selection, unauthorized access, and missing employees
</Changes>
<Review>
Smitha Mohan
</Review>
<UserStory> EMP007 : View Employees </UserStory>
<Changes>
- Added MenuHelper.cpp and MenuHelper.h to project configuration
- Moved viewEmployees() implementation from individual menu classes into MenuHelper
- Added inline viewEmployees(shared_ptr<ZenvyController>) helper with formatted output
- Added enumToString() to MenuHelper for employee role display
- Updated AdminMenu, EmployeeMenu, FinanceExecutiveMenu, HRManagerMenu,
ITExecutiveMenu, TalentExecutiveMenu, TeamExecutiveMenu, and TeamLeadMenu
to use viewEmployees(m_zenvyController) instead of per‑menu implementations
- Removed old viewEmployees() method from EmployeeMenu
- Updated menu options to reflect new centralized viewEmployees() function
</Changes>
<Review>
Smitha Mohan
</Review>
<UserStory> EMP004 : Update Personal Details </UserStory>
<Changes>
- Added MenuHelper.cpp and MenuHelper.h and integrated them into project
- Moved updateProfile() logic from individual menus into MenuHelper
- Added inline updateProfile(shared_ptr<ZenvyController>) to MenuHelper
- Updated AdminMenu, EmployeeMenu, HRManagerMenu, FinanceExecutiveMenu,
ITExecutiveMenu, TalentExecutiveMenu, TeamExecutiveMenu, and TeamLeadMenu
to use centralized updateProfile()
- Added getCurrentEmployee() and updateProfile() to ZenvyController
- Added corresponding implementations in EmployeeManagementService
- Minor layout and option text improvements across all menus
</Changes>
<Review>
Smitha Mohan
</Review>
<UserStory> EMP006 : Search Employee </UserStory>
<Changes>
- Added MenuHelper.cpp and MenuHelper.h helper files to project
- Added searchEmployee method in ZenvyController returning employee type and list
- Implemented search Employee logic in Employement Management Service
- Connected searchEmployee to all the User Menu
</Changes>
<Review>
Smitha Mohan
</Review>
<UserStory> EMP007 : View All Employees </UserStory>
<Changes>
- Added check for empty employee map
- Filtered only ACTIVE employees
- Added formatted table using <iomanip> in EmplopyeeMenu::viewEmployee()
- Added check for empty employee list
</Changes>
<Review>
Smitha Mohan
</Review>
<UserStory> EMP007 : View All Employees </UserStory>
<Changes>
- Implemented getEmployees() in ZenvyController to return list of employees
- Added working getEmployees() implementation in EmployeeManagementService
- Fixed iterator usage to correctly extract map values into Employees vector
- Added viewEmployees() UI flow in EmployeeMenu
- Integrated employee listing into EmployeeMenu option flow
- Added enumToString() helper for printing employee roles
- Improved formatting and filtering of ACTIVE employees in employee listing
- Performed minor code cleanup and consistency adjustments in controller and menu
</Changes>
<Review>
Smitha Mohan
</Review>
<UserStory>EMP001 Create Employee</UserStory>
<Changes>
- Updated employee creation flow to support different employee types and designations
- Set a default initial password for new employees
- Added basic authorization check utility
- Cleaned up employee model constructors for better consistency
Minor code cleanup and refactoring
</Changes>
<Review>
Smitha Mohan
</Review>
<SRS> SRS01 : Authentication </SRS>
<Changes>
- Fixed polymorphism errors in Employee base class by adding virtual destructor.
- Corrected constructor mismatch in GeneralEmployee to properly call Employee constructor with EmployeeType.
- Created UserInterface object in main() and invoked run() to start role-based menus.
</Changes>
<Review>
Smitha Mohan
</Review>
<SRS> SRS01 : Authentication </SRS>
<Changes>
- Added basic UI structure with UserInterface and role-based menus (Admin, HR, IT, Finance, Talent, Team, TeamLead, Employee).
- Created menu classes for different roles, each with run() and handleOperation() methods.
</Changes>
<Review>
Smitha Mohan
</Review>
<UserStory>AUTH001 : Login </UserStory>
<Changes>
- Introduced ApplicationConfig for default configuration values
- Implemented authentication flow in AuthenticationManagementService
- Added login and logout handling in ZenvyController
- Updated enums to include INVALID values and TEAM employee type
- Implemented login UI flow with role-based menu routing
</Changes>
<Review>
Smitha Mohan
</Review>
<SRS> SRS01 : Authentication </SRS>
<Changes>
- Added EmployeeType and LoginStatus enums
- Extended Employee model to store employee type
- Updated Employee constructors to initialize employee type
- Added getter for employee type in Employee model
</Changes>
<Review>
Smitha Mohan
</Review>