97 lines
2.3 KiB
C++
97 lines
2.3 KiB
C++
/*
|
||
* File: HRManagerMenu.cpp
|
||
* Description: Implements the HRManagerMenu class functions including menu loop and operation handling.
|
||
* Author: Trenser
|
||
* Created: 02-Apr-2026
|
||
*/
|
||
|
||
#include <iostream>
|
||
#include "HRManagerMenu.h"
|
||
#include "InputHelper.h"
|
||
#include "OutputHelper.h"
|
||
#include "MenuHelper.h"
|
||
|
||
/*
|
||
* Function: HRManagerMenu::run
|
||
* Description: Starts the HR manager menu loop and displays available options until logout is selected
|
||
* Parameters:
|
||
* None
|
||
* Returns:
|
||
* None
|
||
*/
|
||
void HRManagerMenu::run()
|
||
{
|
||
bool isMenuActive = true;
|
||
while (isMenuActive)
|
||
{
|
||
try
|
||
{
|
||
int choice;
|
||
util::clear();
|
||
std::cout << "HR Manager Menu\n1. Apply Leave\n2. View Payslip\n3. View Payslip History\n4. View Employees\n5. Search Employee\n6. View Notification\n7. View Announcements\n8. Create Employee\n9. Regularize Attendance\n10. Update Leave Request\n11. Update Profile\n12. Deactivate Employee\n13. View Profile\n14. Update Designation\n15. Add Shortlisted Candidate as Employee\n16. Logout\nEnter your Choice: ";
|
||
util::read(choice);
|
||
if (!handleOperation(choice))
|
||
{
|
||
isMenuActive = false;
|
||
}
|
||
}
|
||
catch (const std::exception& e)
|
||
{
|
||
std::cout << "Exception: " << e.what() << std::endl;
|
||
util::pressEnter();
|
||
}
|
||
}
|
||
}
|
||
|
||
/*
|
||
* Function: HRManagerMenu::handleOperation
|
||
* Description: Handles the HR manager’s menu choice and executes the corresponding action
|
||
* Parameters:
|
||
* choice - integer representing the selected menu option
|
||
* Returns:
|
||
* true - if the menu should remain active
|
||
* false - if the HR manager chooses to logout
|
||
*/
|
||
bool HRManagerMenu::handleOperation(int choice)
|
||
{
|
||
switch (choice)
|
||
{
|
||
case 2:
|
||
viewPayslip(m_zenvyController);
|
||
break;
|
||
case 3:
|
||
viewPayslipHistory(m_zenvyController);
|
||
break;
|
||
case 4:
|
||
viewEmployees(m_zenvyController);
|
||
break;
|
||
case 5:
|
||
searchEmployee(m_zenvyController);
|
||
break;
|
||
case 8:
|
||
createEmployee(m_zenvyController);
|
||
break;
|
||
case 11:
|
||
updateProfile(m_zenvyController);
|
||
break;
|
||
case 12:
|
||
deactivateEmployee(m_zenvyController);
|
||
break;
|
||
case 13:
|
||
viewProfile(m_zenvyController);
|
||
break;
|
||
case 14:
|
||
updateDesignation(m_zenvyController);
|
||
break;
|
||
case 15:
|
||
addShortlistedCandidateAsEmployee(m_zenvyController);
|
||
break;
|
||
case 16:
|
||
return false;
|
||
default:
|
||
std::cout << "Enter a valid choice!" << std::endl;
|
||
util::pressEnter();
|
||
}
|
||
return true;
|
||
}
|