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);
|
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)
|
std::shared_ptr<const Employee> EmployeeManagementService::getEmployee(const std::string& id)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -47,6 +47,6 @@ public:
|
|||||||
//Employee Management
|
//Employee Management
|
||||||
void createEmployee(Enums::EmployeeType, const std::string&, const std::string&, const std::string&, const std::string&);
|
void createEmployee(Enums::EmployeeType, const std::string&, const std::string&, const std::string&, const std::string&);
|
||||||
bool deactivateEmployee(const std::string&);
|
bool deactivateEmployee(const std::string&);
|
||||||
Employees getEmployees();
|
|
||||||
std::shared_ptr<const Employee> getEmployee(const std::string&);
|
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)
|
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;
|
break;
|
||||||
case 6:
|
case 6:
|
||||||
m_zenvyController.viewTicketHistory();
|
m_zenvyController.viewTicketHistory();
|
||||||
break;
|
break;*/
|
||||||
case 7:
|
case 7:
|
||||||
m_zenvyController.viewEmployees();
|
viewEmployees();
|
||||||
break;
|
break;
|
||||||
case 8:
|
/*case 8:
|
||||||
m_zenvyController.searchEmployee();
|
m_zenvyController.searchEmployee();
|
||||||
break;
|
break;
|
||||||
case 9:
|
case 9:
|
||||||
@@ -76,4 +76,43 @@ bool EmployeeMenu::handleOperation(int choice)
|
|||||||
std::cout << "Enter a valid choice!" << std::endl;
|
std::cout << "Enter a valid choice!" << std::endl;
|
||||||
}
|
}
|
||||||
return true;
|
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>()) {};
|
EmployeeMenu() : m_zenvyController(std::make_shared<ZenvyController>()) {};
|
||||||
void run();
|
void run();
|
||||||
bool handleOperation(int);
|
bool handleOperation(int);
|
||||||
|
void viewEmployees();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user