Updated Menu Helper

<UserStory> EMP006 : Search Employee </UserStory>

<Changes>
- Updated searchEmployee method logic in MenuHelper.h helper file.
</Changes>

<Review>
Smitha Mohan
</Review>
This commit is contained in:
Ajmal Jalaludeen
2026-04-13 17:08:47 +05:30
parent a294dc57c4
commit 7ffaae3752
+44 -35
View File
@@ -154,28 +154,6 @@ inline void viewEmployees(std::shared_ptr<ZenvyController> m_zenvyController)
util::pressEnter();
}
static void displayPayroll(std::shared_ptr<Payroll> payroll)
{
std::cout << std::left
<< std::setw(10) << payroll->getId()
<< std::setw(10) << payroll->getBasicSalary()
<< std::setw(10) << payroll->getEmployeePFContribution()
<< std::setw(10) << payroll->getEmployerPFContribution()
<< std::setw(10) << payroll->getFoodAllowance()
<< std::setw(10) << payroll->getHouseRentAllowance()
<< std::endl;
}
static void filterSearchResults(Enums::EmployeeType type, std::shared_ptr<const Employee> employee)
{
switch (type)
{
case Enums::EmployeeType::FINANCE:
displayPayroll(employee->getPayroll());
break;
}
}
inline void searchEmployee(std::shared_ptr<ZenvyController>& m_zenvyController)
{
std::string name;
@@ -185,15 +163,27 @@ inline void searchEmployee(std::shared_ptr<ZenvyController>& m_zenvyController)
std::pair<Enums::EmployeeType, std::vector<std::shared_ptr<const Employee>>> searchResults = m_zenvyController->searchEmployee(name);
if (!(searchResults.second).empty())
{
std::cout << std::left
<< std::setw(10) << "ID"
<< std::setw(20) << "Name"
<< std::setw(25) << "Email"
<< std::setw(15) << "Phone"
<< std::setw(15) << "Type"
<< std::setw(15) << "Team Status"
<< std::setw(10) << "Team ID"
<< std::endl;
std::cout << std::left
<< std::setw(10) << "ID"
<< std::setw(20) << "Name"
<< std::setw(25) << "Email"
<< std::setw(15) << "Phone"
<< std::setw(20) << "Type"
<< std::setw(20) << "TeamStatus"
<< std::setw(15) << "TeamID";
if (searchResults.first == Enums::EmployeeType::FINANCE
|| searchResults.first == Enums::EmployeeType::HR
|| searchResults.first == Enums::EmployeeType::ADMIN)
{
std::cout << std::left
<< std::setw(17) << "PayrollID"
<< std::setw(20) << "BasicSalary"
<< std::setw(15) << "EmployeePF"
<< std::setw(15) << "EmployerPF"
<< std::setw(15) << "FoodAllowance"
<< std::setw(15) << "HouseRentAllowance";
}
std::cout << std::endl;
for (const auto& employee : searchResults.second)
{
if (employee->getEmployeeAccountStatus() == Enums::AccountStatus::ACTIVE)
@@ -203,10 +193,29 @@ inline void searchEmployee(std::shared_ptr<ZenvyController>& m_zenvyController)
<< std::setw(20) << employee->getEmployeeName()
<< std::setw(25) << employee->getEmployeeEmail()
<< std::setw(15) << employee->getEmployeePhone()
<< std::setw(15) << Enums::getEmployeeTypeString(employee->getEmployeeType())
<< std::setw(15) << Enums::getTeamStatusString(employee->getEmployeeTeamStatus())
<< std::setw(10) << employee->getEmployeeTeamId();
filterSearchResults(searchResults.first, employee);
<< std::setw(20) << Enums::getEmployeeTypeString(employee->getEmployeeType())
<< std::setw(20) << Enums::getTeamStatusString(employee->getEmployeeTeamStatus());
if (employee->getEmployeeTeamId() == "")
{
std::cout << std::setw(15) << "NULL";
}
else
{
std::cout << std::setw(15) << employee->getEmployeeTeamId();
}
if (searchResults.first == Enums::EmployeeType::FINANCE
|| searchResults.first == Enums::EmployeeType::HR
|| searchResults.first == Enums::EmployeeType::ADMIN)
{
std::cout << std::left
<< std::setw(17) << employee->getPayroll()->getId()
<< std::setw(20) << employee->getPayroll()->getBasicSalary()
<< std::setw(15) << employee->getPayroll()->getEmployeePFContribution()
<< std::setw(15) << employee->getPayroll()->getEmployerPFContribution()
<< std::setw(15) << employee->getPayroll()->getFoodAllowance()
<< std::setw(15) << employee->getPayroll()->getHouseRentAllowance();
}
std::cout << std::endl;
}
}
}