Add Employee Listing Feature
<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>
This commit is contained in:
@@ -27,10 +27,12 @@ bool ZenvyController::deactivateEmployee(const std::string& id)
|
||||
return m_employeeManagementService->deactivateEmployee(id);
|
||||
}
|
||||
|
||||
Employees EmployeeManagementService::getEmployees()
|
||||
Employees ZenvyController::getEmployee()
|
||||
{
|
||||
return m_employeeManagementService->getEmployees();
|
||||
}
|
||||
|
||||
|
||||
std::shared_ptr<const Employee> EmployeeManagementService::getEmployee(const std::string& id)
|
||||
{
|
||||
}
|
||||
|
||||
@@ -47,6 +47,6 @@ public:
|
||||
//Employee Management
|
||||
void createEmployee(Enums::EmployeeType, const std::string&, const std::string&, const std::string&, const std::string&);
|
||||
bool deactivateEmployee(const std::string&);
|
||||
Employees getEmployees();
|
||||
std::shared_ptr<const Employee> getEmployee(const std::string&);
|
||||
Employees getEmployee();
|
||||
};
|
||||
|
||||
@@ -8,10 +8,17 @@ bool EmployeeManagementService::deactivateEmployee(const std::string& id)
|
||||
{
|
||||
}
|
||||
|
||||
Employees EmployeeManagementService::getEmployees()
|
||||
{
|
||||
}
|
||||
|
||||
std::shared_ptr<const Employee> EmployeeManagementService::getEmployee(const std::string& id)
|
||||
{
|
||||
}
|
||||
|
||||
Employees EmployeeManagementService::getEmployees()
|
||||
{
|
||||
Employees result;
|
||||
auto& employee = m_dataStore.getEmployees();
|
||||
for (const auto& iterator : employee)
|
||||
{
|
||||
result.push_back(iterator.second);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
@@ -48,11 +48,11 @@ bool EmployeeMenu::handleOperation(int choice)
|
||||
break;
|
||||
case 6:
|
||||
m_zenvyController.viewTicketHistory();
|
||||
break;
|
||||
break;*/
|
||||
case 7:
|
||||
m_zenvyController.viewEmployees();
|
||||
viewEmployees();
|
||||
break;
|
||||
case 8:
|
||||
/*case 8:
|
||||
m_zenvyController.searchEmployee();
|
||||
break;
|
||||
case 9:
|
||||
@@ -76,4 +76,43 @@ bool EmployeeMenu::handleOperation(int choice)
|
||||
std::cout << "Enter a valid choice!" << std::endl;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
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)
|
||||
{
|
||||
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::string enumToString(Enums::EmployeeType type)
|
||||
{
|
||||
switch (type)
|
||||
{
|
||||
case Enums::EmployeeType::IT:
|
||||
return "IT Executive";
|
||||
case Enums::EmployeeType::FINANCE:
|
||||
return "Finance Executive";
|
||||
case Enums::EmployeeType::GENERAL:
|
||||
return "General Employee";
|
||||
case Enums::EmployeeType::HR:
|
||||
return "HR";
|
||||
case Enums::EmployeeType::TAG:
|
||||
return "Talent Acquacition Executive";
|
||||
case Enums::EmployeeType::TEAM:
|
||||
return "Team Executive";
|
||||
case Enums::EmployeeType::INVALID:
|
||||
return "Invalid";
|
||||
}
|
||||
}
|
||||
@@ -10,5 +10,6 @@ public:
|
||||
EmployeeMenu() : m_zenvyController(std::make_shared<ZenvyController>()) {};
|
||||
void run();
|
||||
bool handleOperation(int);
|
||||
void viewEmployees();
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user