- Switched shared_ptr to raw pointers
- Added cleanup logic in DataStore
- Fixed Factory object creation
- Updated function signatures to match changes
- Small refactors and formatting fixes
<UserStory> EMP011 : View Payslip History </UserStory>
<Changes>
- Removed getPayslips() method from ZenvyController and PayslipManagementService as part of review cleanup.
- Reformatted Enums::getMonthString() and Enums::getMonth() functions for consistent indentation and readability.
- Ensured switch-case blocks in Enums.h follow proper alignment and coding standards.
</Changes>
<Review>
Smitha Mohan
</Review>
<UserStory> EMP010 : View Payslip </UserStory>
<Changes>
- Refactored getPayslipForMonth() to fetch payroll and payslips via employee data
- Added validation for invalid employee ID
- Simplified payslip search using employee-specific payslip records
- Enabled “View Payslip” option in Finance Executive menu
- Minor UI cleanup in payslip view (spacing and screen clear)
</Changes>
<Review>
Smitha Mohan
</Review>
<UserStory> EMP011 : View Payslip History </UserStory>
<Changes>
- Implemented Enums::Month enum and helper functions getMonth() and getMonthString() for month formatting.
- Created viewPayslipHistory() helper in MenuHelper.h to display payslip history in aligned tabular format.
- Integrated viewPayslipHistory() option into EmployeeMenu, FinanceExecutiveMenu, HRManagerMenu, ITExecutiveMenu, TalentExecutiveMenu, TeamExecutiveMenu, and TeamLeadMenu.
</Changes>
<Review>
Smitha Mohan
</Review>
<UserStory> EMP010 : View Payslip </UserStory>
<Changes>
- Added Timestamp support to Payroll and Payslip models
- Implemented getPayslipForMonth flow from Controller to Service
- Enabled payslip retrieval based on year and month
- Updated menus to allow payslip viewing
- Enhanced MenuHelper with a unified viewPayslip helper
- Added date-based filtering using Timestamp utilities
</Changes>
<Review>
Smitha Mohan
</Review>
<UserStory> EMP012 : Employee Management </UserStory>
<Changes>
- Updated HR Manager menu text to remove obsolete options
- Reordered menu items to match current functionality
</Changes>
<Review>
Smitha Mohan
</Review>
<UserStory> EMP012 : Add Shorlisted Candidates As Employee </UserStory>
<Changes>
- Added getShorlistedCandidates method in ZenvyController
- Added candidateMap to store candidate data in DataStore.h
- Added addShortlistedCandidatesAsEmployee method in EmployeeManagementService.h and implemented the logic.
</Changes>
<Review>
Smitha Mohan
</Review>
<UserStory> EMP009 : Generate Payslips </UserStory>
<Changes>
- Updated Payslip model to store employee, salary, and date details
- Added payslip storage to DataStore and file load/save support
- Added logic to generate payslips once per month per employee
- Restricted payslip generation to finance role
- Linked payslips to employees during load and creation
- Added month, year, and day helpers to Timestamp
- Added payslip generation option to Finance Executive menu
</Changes>
<Review>
Smitha Mohan
</Review>
<UserStory>EMP003: View Employee Profile</UserStory>
<Changes>
- Added `viewProfile` method in MenuHelper to display employee details including ID, name, role, email, phone, team, and payroll.
- Integrated `viewProfile(m_zenvyController)` into all role-specific menus (Employee, Finance Executive, HR Manager, IT Executive, Talent Executive, Team Lead).
- Implemented safe downcasting for `GeneralEmployee` to access designation details.
- Enhanced output formatting with section headers and null checks for team ID and payroll.
- Improved error handling with runtime exception when employee record is missing.
</Changes>
<Review>
Smitha Mohan
</Review>
<SRS> SRS02 : Employee Management </SRS>
<Changes>
- Removed old getEmployees() implementation
- Added templated getEmployees(...) for filtering by employee type
- Default now skips admin and returns only active employees
- Blocked login for inactive employees with proper error
</Changes>
<Review>
Smitha Mohan
</Review>
<SRS> SRS02 : Employee Management </SRS>
<Changes>
- Sorted active employees by ID when listing
- Handled empty employee lists in menus
- Stopped deactivation when no employee is selected
- Showed "NULL" when team ID is missing
- Removed unnecessary error throw in payroll menu
</Changes>
<Review>
Smitha Mohan
</Review>
- Cleaned up employee menus and selection flow
- Fixed payroll ID issues and update logic
- Added saving/loading for employees and payroll
- Improved and centralized validation checks
- Added FileManager for file handling and cleanup