Add Search Employee for All Users
<UserStory> EMP006 : Search Employee </UserStory> <Changes> - Added MenuHelper.cpp and MenuHelper.h helper files to project - Added searchEmployee method in ZenvyController returning employee type and list - Implemented search Employee logic in Employement Management Service - Connected searchEmployee to all the User Menu </Changes> <Review> Smitha Mohan </Review>
This commit is contained in:
@@ -172,6 +172,7 @@
|
||||
<ClCompile Include="views\FinanceExecutiveMenu.cpp" />
|
||||
<ClCompile Include="views\HRManagerMenu.cpp" />
|
||||
<ClCompile Include="views\ITExecutiveMenu.cpp" />
|
||||
<ClCompile Include="views\MenuHelper.cpp" />
|
||||
<ClCompile Include="views\TalentExecutiveMenu.cpp" />
|
||||
<ClCompile Include="views\TeamExecutiveMenu.cpp" />
|
||||
<ClCompile Include="views\TeamLeadMenu.cpp" />
|
||||
@@ -222,6 +223,7 @@
|
||||
<ClInclude Include="views\FinanceExecutiveMenu.h" />
|
||||
<ClInclude Include="views\HRManagerMenu.h" />
|
||||
<ClInclude Include="views\ITExecutiveMenu.h" />
|
||||
<ClInclude Include="views\MenuHelper.h" />
|
||||
<ClInclude Include="views\TalentExecutiveMenu.h" />
|
||||
<ClInclude Include="views\TeamExecutiveMenu.h" />
|
||||
<ClInclude Include="views\TeamLeadMenu.h" />
|
||||
|
||||
@@ -192,6 +192,9 @@
|
||||
<ClCompile Include="services\EmployeeManagementService.cpp">
|
||||
<Filter>Services</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="views\MenuHelper.cpp">
|
||||
<Filter>Views</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="services\AuthenticationManagementService.h">
|
||||
@@ -338,6 +341,9 @@
|
||||
<ClInclude Include="services\EmployeeManagementService.h">
|
||||
<Filter>Services</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="views\MenuHelper.h">
|
||||
<Filter>Views</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="models\Employee.h">
|
||||
|
||||
@@ -27,10 +27,15 @@ bool ZenvyController::deactivateEmployee(const std::string& id)
|
||||
return m_employeeManagementService->deactivateEmployee(id);
|
||||
}
|
||||
|
||||
Employees EmployeeManagementService::getEmployees()
|
||||
std::pair<Enums::EmployeeType, std::vector<std::shared_ptr<const Employee>>> ZenvyController::searchEmployee(const std::string& name)
|
||||
{
|
||||
m_employeeManagementService->searchEmployee(name);
|
||||
}
|
||||
|
||||
Employees ZenvyController::getEmployees()
|
||||
{
|
||||
}
|
||||
|
||||
std::shared_ptr<const Employee> EmployeeManagementService::getEmployee(const std::string& id)
|
||||
std::shared_ptr<const Employee> ZenvyController::getEmployee(const std::string& id)
|
||||
{
|
||||
}
|
||||
|
||||
@@ -49,4 +49,5 @@ public:
|
||||
bool deactivateEmployee(const std::string&);
|
||||
Employees getEmployees();
|
||||
std::shared_ptr<const Employee> getEmployee(const std::string&);
|
||||
std::pair<Enums::EmployeeType, std::vector<std::shared_ptr<const Employee>>> searchEmployee(const std::string&);
|
||||
};
|
||||
|
||||
@@ -3,15 +3,39 @@
|
||||
void EmployeeManagementService::createEmployee(Enums::EmployeeType, const std::string& email, const std::string& password, const std::string& name, const std::string& phone)
|
||||
{
|
||||
}
|
||||
|
||||
bool EmployeeManagementService::deactivateEmployee(const std::string& id)
|
||||
{
|
||||
}
|
||||
|
||||
Employees EmployeeManagementService::getEmployees()
|
||||
{
|
||||
}
|
||||
|
||||
std::shared_ptr<const Employee> EmployeeManagementService::getEmployee(const std::string& id)
|
||||
{
|
||||
}
|
||||
std::pair<Enums::EmployeeType, std::vector<std::shared_ptr<const Employee>>> EmployeeManagementService::searchEmployee(const std::string& name)
|
||||
{
|
||||
std::shared_ptr<Employee> currentUser = m_dataStore.getAuthenticatedEmployee();
|
||||
Enums::EmployeeType employeeType = currentUser->getEmployeeType();
|
||||
employeeMap& employees = m_dataStore.getEmployees();
|
||||
std::vector<std::shared_ptr<const Employee>> employeeList;
|
||||
if (employees.empty())
|
||||
{
|
||||
return std::make_pair(employeeType, employeeList);
|
||||
}
|
||||
for (const auto& entry : employees) {
|
||||
const auto& employee = entry.second;
|
||||
if (!employee)
|
||||
{
|
||||
continue; // skip if pointer is null
|
||||
}
|
||||
std::string employeeName = employee->getEmployeeName();
|
||||
std::transform(employeeName.begin(), employeeName.end(), employeeName.begin(), ::tolower);
|
||||
std::string searchName = name;
|
||||
std::transform(searchName.begin(), searchName.end(), searchName.begin(), ::tolower);
|
||||
if (employeeName == searchName)
|
||||
{
|
||||
employeeList.push_back(employee);
|
||||
}
|
||||
}
|
||||
return { employeeType, employeeList };
|
||||
}
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
#pragma once
|
||||
#include <vector>
|
||||
#include <tuple>
|
||||
#include <algorithm>
|
||||
#include <utility>
|
||||
#include "DataStore.h"
|
||||
#include "Enums.h"
|
||||
|
||||
@@ -16,4 +18,5 @@ public:
|
||||
bool deactivateEmployee(const std::string&);
|
||||
Employees getEmployees();
|
||||
std::shared_ptr<const Employee> getEmployee(const std::string&);
|
||||
std::pair<Enums::EmployeeType, std::vector<std::shared_ptr<const Employee>>> searchEmployee(const std::string&);
|
||||
};
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
#pragma once
|
||||
#include <string>
|
||||
|
||||
namespace Enums {
|
||||
|
||||
@@ -89,4 +90,149 @@ namespace Enums {
|
||||
USER_NOT_FOUND,
|
||||
INVALID_PASSWORD
|
||||
};
|
||||
|
||||
/*std::string getEmployeeType(EmployeeType type)
|
||||
{
|
||||
switch (type)
|
||||
{
|
||||
case EmployeeType::HR:
|
||||
return "HR Manager";
|
||||
case EmployeeType::TEAM:
|
||||
return "Team Executive";
|
||||
case EmployeeType::ADMIN:
|
||||
return "Admin";
|
||||
case EmployeeType::IT:
|
||||
return "IT Executive";
|
||||
case EmployeeType::FINANCE:
|
||||
return "Finance Executive";
|
||||
case EmployeeType::TAG:
|
||||
return "Talent Acquisition Executive";
|
||||
case EmployeeType::GENERAL:
|
||||
return "General Employee";
|
||||
default:
|
||||
return "Invalid";
|
||||
}
|
||||
}
|
||||
|
||||
std::string getTeamStatus(TeamStatus status)
|
||||
{
|
||||
|
||||
}*/
|
||||
|
||||
std::string getAccountStatus(AccountStatus status) {
|
||||
switch (status) {
|
||||
case AccountStatus::ACTIVE: return "Active";
|
||||
case AccountStatus::INACTIVE: return "Inactive";
|
||||
default: return "Unknown";
|
||||
}
|
||||
}
|
||||
|
||||
std::string getTeamStatus(TeamStatus status) {
|
||||
switch (status) {
|
||||
case TeamStatus::IN_TEAM: return "In Team";
|
||||
case TeamStatus::NOT_IN_TEAM: return "Not in Team";
|
||||
default: return "Unknown";
|
||||
}
|
||||
}
|
||||
|
||||
std::string getCandidateStatus(CandidateStatus status) {
|
||||
switch (status) {
|
||||
case CandidateStatus::PENDING: return "Pending";
|
||||
case CandidateStatus::SHORTLISTED: return "Shortlisted";
|
||||
case CandidateStatus::REJECTED: return "Rejected";
|
||||
default: return "Unknown";
|
||||
}
|
||||
}
|
||||
|
||||
std::string getNotificationStatus(NotificationStatus status) {
|
||||
switch (status) {
|
||||
case NotificationStatus::READ: return "Read";
|
||||
case NotificationStatus::UNREAD: return "Unread";
|
||||
default: return "Unknown";
|
||||
}
|
||||
}
|
||||
|
||||
std::string getLeaveStatus(LeaveStatus status) {
|
||||
switch (status) {
|
||||
case LeaveStatus::PENDING: return "Pending";
|
||||
case LeaveStatus::APPROVED: return "Approved";
|
||||
case LeaveStatus::REJECTED: return "Rejected";
|
||||
default: return "Unknown";
|
||||
}
|
||||
}
|
||||
|
||||
std::string getLeaveType(LeaveType type) {
|
||||
switch (type) {
|
||||
case LeaveType::GENERAL: return "General Leave";
|
||||
case LeaveType::MEDICAL: return "Medical Leave";
|
||||
case LeaveType::RESTRICTED: return "Restricted Leave";
|
||||
default: return "Unknown";
|
||||
}
|
||||
}
|
||||
|
||||
std::string getJobListingStatus(JobListingStatus status) {
|
||||
switch (status) {
|
||||
case JobListingStatus::OPEN: return "Open";
|
||||
case JobListingStatus::CLOSED: return "Closed";
|
||||
default: return "Unknown";
|
||||
}
|
||||
}
|
||||
|
||||
std::string getTicketStatus(TicketStatus status) {
|
||||
switch (status) {
|
||||
case TicketStatus::OPEN: return "Open";
|
||||
case TicketStatus::RESOLVED: return "Resolved";
|
||||
case TicketStatus::CLOSED: return "Closed";
|
||||
default: return "Unknown";
|
||||
}
|
||||
}
|
||||
|
||||
std::string getTicketType(TicketType type) {
|
||||
switch (type) {
|
||||
case TicketType::IT: return "IT";
|
||||
case TicketType::FINANCE: return "Finance";
|
||||
case TicketType::ATTENDANCE: return "Attendance";
|
||||
case TicketType::UNKNOWN: return "Unknown";
|
||||
default: return "Unknown";
|
||||
}
|
||||
}
|
||||
|
||||
std::string getEmployeeDesignation(EmployeeDesignation designation) {
|
||||
switch (designation) {
|
||||
case EmployeeDesignation::JUNIOR: return "Junior";
|
||||
case EmployeeDesignation::SENIOR: return "Senior";
|
||||
case EmployeeDesignation::TEAM_LEAD: return "Team Lead";
|
||||
case EmployeeDesignation::INVALID: return "Invalid";
|
||||
default: return "Unknown";
|
||||
}
|
||||
}
|
||||
|
||||
std::string getEmployeeType(EmployeeType type) {
|
||||
switch (type) {
|
||||
case EmployeeType::HR: return "HR Manager";
|
||||
case EmployeeType::TEAM: return "Team Executive";
|
||||
case EmployeeType::ADMIN: return "Admin";
|
||||
case EmployeeType::IT: return "IT Executive";
|
||||
case EmployeeType::FINANCE: return "Finance Executive";
|
||||
case EmployeeType::TAG: return "Talent Acquisition Executive";
|
||||
case EmployeeType::GENERAL: return "General Employee";
|
||||
case EmployeeType::INVALID: return "Invalid";
|
||||
default: return "Unknown";
|
||||
}
|
||||
}
|
||||
|
||||
std::string getLoginStatus(LoginStatus status) {
|
||||
switch (status) {
|
||||
case LoginStatus::SUCCESS: return "Login Success";
|
||||
case LoginStatus::FIRST_LOGIN: return "First Login";
|
||||
case LoginStatus::USER_NOT_FOUND: return "User Not Found";
|
||||
case LoginStatus::INVALID_PASSWORD: return "Invalid Password";
|
||||
default: return "Unknown";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
namespace Enums {
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
#pragma once
|
||||
|
||||
#include <iostream>
|
||||
#include <limits>
|
||||
#include <string>
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
#include <iostream>
|
||||
#include "AdminMenu.h"
|
||||
#include"InputHelper.h"
|
||||
#include"OutputHelper.h"
|
||||
#include "InputHelper.h"
|
||||
#include "OutputHelper.h"
|
||||
#include "MenuHelper.h"
|
||||
|
||||
void AdminMenu::run()
|
||||
{
|
||||
@@ -44,9 +45,20 @@ bool AdminMenu::handleOperation(int choice)
|
||||
m_zenvyController.deactivateEmployee();
|
||||
break;*/
|
||||
case 5:
|
||||
searchEmployee();
|
||||
break;
|
||||
case 6:
|
||||
return false;
|
||||
default:
|
||||
std::cout << "Enter a valid choice!" << std::endl;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
void AdminMenu::searchEmployee()
|
||||
{
|
||||
std::string name;
|
||||
std::cout << "Enter Employee Name: ";
|
||||
util::read(name);
|
||||
searchTheEmployee(name, m_zenvyController);
|
||||
}
|
||||
@@ -1,5 +1,6 @@
|
||||
#pragma once
|
||||
#include<memory>
|
||||
#include "MenuHelper.h"
|
||||
#include"ZenvyController.h"
|
||||
|
||||
class AdminMenu
|
||||
@@ -10,5 +11,6 @@ public:
|
||||
AdminMenu() :m_zenvyController(std::make_shared<ZenvyController>()) {};
|
||||
void run();
|
||||
bool handleOperation(int);
|
||||
void searchEmployee();
|
||||
};
|
||||
|
||||
|
||||
@@ -51,11 +51,11 @@ bool EmployeeMenu::handleOperation(int choice)
|
||||
break;
|
||||
case 7:
|
||||
m_zenvyController.viewEmployees();
|
||||
break;
|
||||
break;*/
|
||||
case 8:
|
||||
m_zenvyController.searchEmployee();
|
||||
searchEmployee();
|
||||
break;
|
||||
case 9:
|
||||
/*case 9:
|
||||
m_zenvyController.viewTeamMembers();
|
||||
break;
|
||||
case 10:
|
||||
@@ -69,11 +69,18 @@ bool EmployeeMenu::handleOperation(int choice)
|
||||
break;
|
||||
case 13:
|
||||
m_zenvyController.viewAnnouncements();
|
||||
break;*/
|
||||
break;
|
||||
case 14:
|
||||
return false;
|
||||
default:
|
||||
std::cout << "Enter a valid choice!" << std::endl;
|
||||
std::cout << "Enter a valid choice!" << std::endl;*/
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
void EmployeeMenu::searchEmployee()
|
||||
{
|
||||
std::string name;
|
||||
std::cout << "Enter Employee Name: ";
|
||||
util::read(name);
|
||||
searchTheEmployee(name, m_zenvyController);
|
||||
}
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
#pragma once
|
||||
#include<memory>
|
||||
#include <iomanip>
|
||||
#include "MenuHelper.h"
|
||||
#include"ZenvyController.h"
|
||||
|
||||
class EmployeeMenu
|
||||
@@ -10,5 +12,6 @@ public:
|
||||
EmployeeMenu() : m_zenvyController(std::make_shared<ZenvyController>()) {};
|
||||
void run();
|
||||
bool handleOperation(int);
|
||||
void searchEmployee();
|
||||
};
|
||||
|
||||
|
||||
@@ -42,11 +42,11 @@ bool FinanceExecutiveMenu::handleOperation(int choice)
|
||||
break;
|
||||
case 4:
|
||||
m_zenvyController.viewEmployees();
|
||||
break;
|
||||
break;*/
|
||||
case 5:
|
||||
m_zenvyController.searchEmployee();
|
||||
searchEmployee();
|
||||
break;
|
||||
case 6:
|
||||
/*case 6:
|
||||
m_zenvyController.viewNotifications();
|
||||
break;
|
||||
case 7:
|
||||
@@ -60,11 +60,19 @@ bool FinanceExecutiveMenu::handleOperation(int choice)
|
||||
break;
|
||||
case 10:
|
||||
m_zenvyController.updatePayroll();
|
||||
break;*/
|
||||
break;
|
||||
case 11:
|
||||
return false;
|
||||
default:
|
||||
std::cout << "Enter a valid choice!" << std::endl;
|
||||
std::cout << "Enter a valid choice!" << std::endl;*/
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
void FinanceExecutiveMenu::searchEmployee()
|
||||
{
|
||||
std::string name;
|
||||
std::cout << "Enter Employee Name: ";
|
||||
util::read(name);
|
||||
searchTheEmployee(name, m_zenvyController);
|
||||
}
|
||||
@@ -1,5 +1,6 @@
|
||||
#pragma once
|
||||
#include<memory>
|
||||
#include "MenuHelper.h"
|
||||
#include"ZenvyController.h"
|
||||
|
||||
class FinanceExecutiveMenu
|
||||
@@ -10,5 +11,6 @@ public:
|
||||
FinanceExecutiveMenu() : m_zenvyController(std::make_shared<ZenvyController>()) {};
|
||||
void run();
|
||||
bool handleOperation(int);
|
||||
void searchEmployee();
|
||||
};
|
||||
|
||||
|
||||
@@ -31,43 +31,51 @@ bool HRManagerMenu::handleOperation(int choice)
|
||||
{
|
||||
switch (choice)
|
||||
{
|
||||
//case 1:
|
||||
// m_zenvyController.applyLeave();
|
||||
// break;
|
||||
//case 2:
|
||||
// m_zenvyController.viewPayslip();
|
||||
// break;
|
||||
//case 3:
|
||||
// m_zenvyController.viewPayslipHistory();
|
||||
// break;
|
||||
//case 4:
|
||||
// m_zenvyController.viewEmployees();
|
||||
// break;
|
||||
//case 5:
|
||||
// m_zenvyController.searchEmployee();
|
||||
// break;
|
||||
//case 6:
|
||||
// m_zenvyController.viewNotifications();
|
||||
// break;
|
||||
//case 7:
|
||||
// m_zenvyController.viewAnnouncements();
|
||||
// break;
|
||||
//case 8:
|
||||
// m_zenvyController.createEmployee();
|
||||
// break;
|
||||
//case 9:
|
||||
// m_zenvyController.regularizeAttenance();
|
||||
// break;
|
||||
//case 10:
|
||||
// m_zenvyController.updateLeaveRequest();
|
||||
// break;
|
||||
//case 11:
|
||||
// m_zenvyController.registercandidateAsEmployee();
|
||||
// break;
|
||||
/*case 1:
|
||||
m_zenvyController.applyLeave();
|
||||
break;
|
||||
case 2:
|
||||
m_zenvyController.viewPayslip();
|
||||
break;
|
||||
case 3:
|
||||
m_zenvyController.viewPayslipHistory();
|
||||
break;
|
||||
case 4:
|
||||
m_zenvyController.viewEmployees();
|
||||
break;*/
|
||||
case 5:
|
||||
searchEmployee();
|
||||
break;
|
||||
/*case 6:
|
||||
m_zenvyController.viewNotifications();
|
||||
break;
|
||||
case 7:
|
||||
m_zenvyController.viewAnnouncements();
|
||||
break;
|
||||
case 8:
|
||||
m_zenvyController.createEmployee();
|
||||
break;
|
||||
case 9:
|
||||
m_zenvyController.regularizeAttenance();
|
||||
break;
|
||||
case 10:
|
||||
m_zenvyController.updateLeaveRequest();
|
||||
break;
|
||||
case 11:
|
||||
m_zenvyController.registercandidateAsEmployee();
|
||||
break;
|
||||
case 12:
|
||||
return false;
|
||||
default:
|
||||
std::cout << "Enter a valid choice!" << std::endl;
|
||||
std::cout << "Enter a valid choice!" << std::endl;*/
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
void HRManagerMenu::searchEmployee()
|
||||
{
|
||||
std::string name;
|
||||
std::cout << "Enter Employee Name: ";
|
||||
util::read(name);
|
||||
searchTheEmployee(name, m_zenvyController);
|
||||
}
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
#pragma once
|
||||
#include<memory>
|
||||
#include "MenuHelper.h"
|
||||
#include"ZenvyController.h"
|
||||
|
||||
class HRManagerMenu
|
||||
@@ -10,5 +11,6 @@ public:
|
||||
HRManagerMenu() : m_zenvyController(std::make_shared<ZenvyController>()) {};
|
||||
void run();
|
||||
bool handleOperation(int);
|
||||
void searchEmployee();
|
||||
};
|
||||
|
||||
|
||||
@@ -42,11 +42,11 @@ bool ITExecutiveMenu::handleOperation(int choice)
|
||||
break;
|
||||
case 4:
|
||||
m_zenvyController.viewEmployees();
|
||||
break;
|
||||
break;*/
|
||||
case 5:
|
||||
m_zenvyController.searchEmployee();
|
||||
searchEmployee();
|
||||
break;
|
||||
case 6:
|
||||
/*case 6:
|
||||
m_zenvyController.viewNotifications();
|
||||
break;
|
||||
case 7:
|
||||
@@ -54,11 +54,19 @@ bool ITExecutiveMenu::handleOperation(int choice)
|
||||
break;
|
||||
case 8:
|
||||
m_zenvyController.resolveTicket();
|
||||
break;*/
|
||||
break;
|
||||
case 9:
|
||||
return false;
|
||||
default:
|
||||
std::cout << "Enter a valid choice!" << std::endl;
|
||||
std::cout << "Enter a valid choice!" << std::endl;*/
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
void ITExecutiveMenu::searchEmployee()
|
||||
{
|
||||
std::string name;
|
||||
std::cout << "Enter Employee Name: ";
|
||||
util::read(name);
|
||||
searchTheEmployee(name, m_zenvyController);
|
||||
}
|
||||
@@ -1,5 +1,6 @@
|
||||
#pragma once
|
||||
#include<memory>
|
||||
#include "MenuHelper.h"
|
||||
#include"ZenvyController.h"
|
||||
|
||||
class ITExecutiveMenu
|
||||
@@ -10,5 +11,6 @@ public:
|
||||
ITExecutiveMenu() : m_zenvyController(std::make_shared<ZenvyController>()) {};
|
||||
void run();
|
||||
bool handleOperation(int);
|
||||
void searchEmployee();
|
||||
};
|
||||
|
||||
|
||||
@@ -0,0 +1,3 @@
|
||||
#include "MenuHelper.h"
|
||||
|
||||
|
||||
@@ -0,0 +1,69 @@
|
||||
#pragma once
|
||||
#include <algorithm>
|
||||
#include <iomanip>
|
||||
#include<memory>
|
||||
#include <vector>
|
||||
#include <utility>
|
||||
#include "Enums.h"
|
||||
#include"InputHelper.h"
|
||||
#include"OutputHelper.h"
|
||||
#include "Employee.h"
|
||||
#include "ZenvyController.h"
|
||||
#include "Payroll.h"
|
||||
|
||||
inline void searchTheEmployee(const std::string& name, 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(10) << "Team ID"
|
||||
<< std::setw(10) << "Team Status"
|
||||
<< std::endl;
|
||||
std::cout << std::string(95, '-') << std::endl;
|
||||
for (const auto& employee : searchResults.second)
|
||||
{
|
||||
if (employee->getEmployeeAccountStatus() == Enums::AccountStatus::ACTIVE)
|
||||
{
|
||||
std::cout << std::left
|
||||
<< std::setw(10) << employee->getEmployeeId()
|
||||
<< std::setw(20) << employee->getEmployeeName()
|
||||
<< std::setw(25) << employee->getEmployeeEmail()
|
||||
<< std::setw(15) << employee->getEmployeePhone()
|
||||
<< std::setw(15) << Enums::getEmployeeType(employee->getEmployeeType())
|
||||
<< std::setw(10) << employee->getEmployeeTeamId()
|
||||
<< std::setw(10) << Enums::getTeamStatus(employee->getEmployeeTeamStatus());
|
||||
filterSearchResults(searchResults.first, employee);
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
std::cout << "No Employee found with this name" << std::endl;
|
||||
}
|
||||
}
|
||||
static void filterSearchResults(Enums::EmployeeType type, std::shared_ptr<const Employee> employee)
|
||||
{
|
||||
switch (type)
|
||||
{
|
||||
case Enums::EmployeeType::FINANCE:
|
||||
displayPayroll(employee->getPayroll());
|
||||
break;
|
||||
}
|
||||
}
|
||||
void displayPayroll(std::shared_ptr<Payroll> payroll)
|
||||
{
|
||||
std::cout << std::left
|
||||
<< std::setw(10) << payroll->getPayrollId()
|
||||
<< 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;
|
||||
}
|
||||
@@ -31,46 +31,54 @@ bool TalentExecutiveMenu::handleOperation(int choice)
|
||||
{
|
||||
switch (choice)
|
||||
{
|
||||
//case 1:
|
||||
// m_zenvyController.applyLeave();
|
||||
// break;
|
||||
//case 2:
|
||||
// m_zenvyController.viewPayslip();
|
||||
// break;
|
||||
//case 3:
|
||||
// m_zenvyController.viewPayslipHistory();
|
||||
// break;
|
||||
//case 4:
|
||||
// m_zenvyController.viewEmployees();
|
||||
// break;
|
||||
//case 5:
|
||||
// m_zenvyController.searchEmployee();
|
||||
// break;
|
||||
//case 6:
|
||||
// m_zenvyController.viewNotifications();
|
||||
// break;
|
||||
//case 7:
|
||||
// m_zenvyController.viewAnnouncements();
|
||||
// break;
|
||||
//case 8:
|
||||
// m_zenvyController.createNewJob();
|
||||
// break;
|
||||
//case 9:
|
||||
// m_zenvyController.viewJobOpenings();
|
||||
// break;
|
||||
//case 10:
|
||||
// m_zenvyController.addCandidate();
|
||||
// break;
|
||||
//case 11:
|
||||
// m_zenvyController.updateCandidateStatus();
|
||||
// break;
|
||||
//case 12:
|
||||
// m_zenvyController.viewShortlistedCandidates();
|
||||
// break;
|
||||
/*case 1:
|
||||
m_zenvyController.applyLeave();
|
||||
break;
|
||||
case 2:
|
||||
m_zenvyController.viewPayslip();
|
||||
break;
|
||||
case 3:
|
||||
m_zenvyController.viewPayslipHistory();
|
||||
break;
|
||||
case 4:
|
||||
m_zenvyController.viewEmployees();
|
||||
break;*/
|
||||
case 5:
|
||||
searchEmployee();
|
||||
break;
|
||||
/*case 6:
|
||||
m_zenvyController.viewNotifications();
|
||||
break;
|
||||
case 7:
|
||||
m_zenvyController.viewAnnouncements();
|
||||
break;
|
||||
case 8:
|
||||
m_zenvyController.createNewJob();
|
||||
break;
|
||||
case 9:
|
||||
m_zenvyController.viewJobOpenings();
|
||||
break;
|
||||
case 10:
|
||||
m_zenvyController.addCandidate();
|
||||
break;
|
||||
case 11:
|
||||
m_zenvyController.updateCandidateStatus();
|
||||
break;
|
||||
case 12:
|
||||
m_zenvyController.viewShortlistedCandidates();
|
||||
break;
|
||||
case 13:
|
||||
return false;
|
||||
default:
|
||||
std::cout << "Enter a valid choice!" << std::endl;
|
||||
std::cout << "Enter a valid choice!" << std::endl;*/
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
void TalentExecutiveMenu::searchEmployee()
|
||||
{
|
||||
std::string name;
|
||||
std::cout << "Enter Employee Name: ";
|
||||
util::read(name);
|
||||
searchTheEmployee(name, m_zenvyController);
|
||||
}
|
||||
@@ -1,5 +1,6 @@
|
||||
#pragma once
|
||||
#include<memory>
|
||||
#include "MenuHelper.h"
|
||||
#include"ZenvyController.h"
|
||||
|
||||
class TalentExecutiveMenu
|
||||
@@ -10,5 +11,6 @@ public:
|
||||
TalentExecutiveMenu() : m_zenvyController(std::make_shared < ZenvyController>()) {};
|
||||
void run();
|
||||
bool handleOperation(int);
|
||||
void searchEmployee();
|
||||
};
|
||||
|
||||
|
||||
@@ -31,49 +31,57 @@ bool TeamExecutiveMenu::handleOperation(int choice)
|
||||
{
|
||||
switch (choice)
|
||||
{
|
||||
//case 1:
|
||||
// m_zenvyController.applyLeave();
|
||||
// break;
|
||||
//case 2:
|
||||
// m_zenvyController.viewPayslip();
|
||||
// break;
|
||||
//case 3:
|
||||
// m_zenvyController.viewPayslipHistory();
|
||||
// break;
|
||||
//case 4:
|
||||
// m_zenvyController.viewEmployees();
|
||||
// break;
|
||||
//case 5:
|
||||
// m_zenvyController.searchEmployee();
|
||||
// break;
|
||||
//case 6:
|
||||
// m_zenvyController.viewNotifications();
|
||||
// break;
|
||||
//case 7:
|
||||
// m_zenvyController.viewAnnouncements();
|
||||
// break;
|
||||
//case 8:
|
||||
// m_zenvyController.createTeam();
|
||||
// break;
|
||||
//case 9:
|
||||
// m_zenvyController.updateTeam();
|
||||
// break;
|
||||
//case 10:
|
||||
// m_zenvyController.removeTeam();
|
||||
// break;
|
||||
//case 11:
|
||||
// m_zenvyController.assignEmployee();
|
||||
// break;
|
||||
//case 12:
|
||||
// m_zenvyController.unassignEmployee();
|
||||
// break;
|
||||
//case 13:
|
||||
// m_zenvyController.viewTeams();
|
||||
// break;
|
||||
/*case 1:
|
||||
m_zenvyController.applyLeave();
|
||||
break;
|
||||
case 2:
|
||||
m_zenvyController.viewPayslip();
|
||||
break;
|
||||
case 3:
|
||||
m_zenvyController.viewPayslipHistory();
|
||||
break;
|
||||
case 4:
|
||||
m_zenvyController.viewEmployees();
|
||||
break;*/
|
||||
case 5:
|
||||
searchEmployee();
|
||||
break;
|
||||
/*case 6:
|
||||
m_zenvyController.viewNotifications();
|
||||
break;
|
||||
case 7:
|
||||
m_zenvyController.viewAnnouncements();
|
||||
break;
|
||||
case 8:
|
||||
m_zenvyController.createTeam();
|
||||
break;
|
||||
case 9:
|
||||
m_zenvyController.updateTeam();
|
||||
break;
|
||||
case 10:
|
||||
m_zenvyController.removeTeam();
|
||||
break;
|
||||
case 11:
|
||||
m_zenvyController.assignEmployee();
|
||||
break;
|
||||
case 12:
|
||||
m_zenvyController.unassignEmployee();
|
||||
break;
|
||||
case 13:
|
||||
m_zenvyController.viewTeams();
|
||||
break;
|
||||
case 14:
|
||||
return false;
|
||||
default:
|
||||
std::cout << "Enter a valid choice!" << std::endl;
|
||||
std::cout << "Enter a valid choice!" << std::endl;*/
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
void TalentExecutiveMenu::searchEmployee()
|
||||
{
|
||||
std::string name;
|
||||
std::cout << "Enter Employee Name: ";
|
||||
util::read(name);
|
||||
searchTheEmployee(name, m_zenvyController);
|
||||
}
|
||||
@@ -1,5 +1,6 @@
|
||||
#pragma once
|
||||
#include<memory>
|
||||
#include "MenuHelper.h"
|
||||
#include"ZenvyController.h"
|
||||
|
||||
class TeamExecutiveMenu
|
||||
@@ -10,5 +11,6 @@ public:
|
||||
TeamExecutiveMenu() : m_zenvyController(std::make_shared<ZenvyController>()) {};
|
||||
void run();
|
||||
bool handleOperation(int);
|
||||
void searchEmployee();
|
||||
};
|
||||
|
||||
|
||||
@@ -51,11 +51,11 @@ bool TeamLeadMenu::handleOperation(int choice)
|
||||
break;
|
||||
case 7:
|
||||
m_zenvyController.viewEmployees();
|
||||
break;
|
||||
break;*/
|
||||
case 8:
|
||||
m_zenvyController.searchEmployee();
|
||||
searchEmployee();
|
||||
break;
|
||||
case 9:
|
||||
/*case 9:
|
||||
m_zenvyController.viewTeamMembers();
|
||||
break;
|
||||
case 10:
|
||||
@@ -75,11 +75,19 @@ bool TeamLeadMenu::handleOperation(int choice)
|
||||
break;
|
||||
case 15:
|
||||
m_zenvyController.updateLeaveRequest();
|
||||
break;*/
|
||||
break;
|
||||
case 16:
|
||||
return false;
|
||||
default:
|
||||
std::cout << "Enter a valid choice!" << std::endl;
|
||||
std::cout << "Enter a valid choice!" << std::endl;*/
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
void TeamLeadMenu::searchEmployee()
|
||||
{
|
||||
std::string name;
|
||||
std::cout << "Enter Employee Name: ";
|
||||
util::read(name);
|
||||
searchTheEmployee(name, m_zenvyController);
|
||||
}
|
||||
@@ -1,5 +1,6 @@
|
||||
#pragma once
|
||||
#include<memory>
|
||||
#include "MenuHelper.h"
|
||||
#include"ZenvyController.h"
|
||||
|
||||
class TeamLeadMenu
|
||||
@@ -10,5 +11,6 @@ public:
|
||||
TeamLeadMenu() : m_zenvyController(std::make_shared<ZenvyController>()) {};
|
||||
void run();
|
||||
bool handleOperation(int);
|
||||
void searchEmployee();
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user