Implement Review fixes

<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>
This commit is contained in:
Tinu Johnson
2026-04-07 19:19:08 +05:30
parent 1785660e94
commit 6256b9ea82
2 changed files with 34 additions and 15 deletions
@@ -15,10 +15,17 @@ std::shared_ptr<const Employee> EmployeeManagementService::getEmployee(const std
Employees EmployeeManagementService::getEmployees()
{
Employees result;
auto& employee = m_dataStore.getEmployees();
for (const auto& iterator : employee)
auto& employees = m_dataStore.getEmployees();
if (employees.size() <= 0)
{
return result;
}
for (const auto& iterator : employees)
{
if (iterator.second->getEmployeeAccountStatus() == Enums::AccountStatus::ACTIVE)
{
result.push_back(iterator.second);
}
}
return result;
}
@@ -1,4 +1,5 @@
#include <iostream>
#include<iomanip>
#include "EmployeeMenu.h"
#include"InputHelper.h"
#include"OutputHelper.h"
@@ -80,19 +81,30 @@ bool EmployeeMenu::handleOperation(int choice)
void EmployeeMenu::viewEmployees()
{
std::cout << "EMPID\t\tName\t\tRole\t\tTeamId\t\tEmail\t\tPhone\t\t";
auto employee = m_zenvyController->getEmployee();
for (const auto& iterator : employee)
std::cout << std::left
<< std::setw(10) << "EMPID"
<< std::setw(20) << "Name"
<< std::setw(15) << "Role"
<< std::setw(10) << "TeamId"
<< std::setw(25) << "Email"
<< std::setw(15) << "Phone"
<< std::endl;
auto employees = m_zenvyController->getEmployee();
if (employees.empty())
{
if (iterator->getEmployeeAccountStatus() == Enums::AccountStatus::ACTIVE)
{
std::cout << iterator->getEmployeeId() << "\t"
<< iterator->getEmployeeName() << "\t"
<< enumToString(iterator->getEmployeeType()) << "\t"
<< iterator->getEmployeeTeamId() << "\t"
<< iterator->getEmployeeEmail() << "\t"
<< iterator->getEmployeePhone() << std::endl;
std::cout << "No employees found\n";
return;
}
for (const auto& iterator : employees)
{
std::cout << std::left
<< std::setw(10) << iterator->getEmployeeId()
<< std::setw(20) << iterator->getEmployeeName()
<< std::setw(15) << enumToString(iterator->getEmployeeType())
<< std::setw(10) << iterator->getEmployeeTeamId()
<< std::setw(25) << iterator->getEmployeeEmail()
<< std::setw(15) << iterator->getEmployeePhone()
<< std::endl;
}
}