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\FinanceExecutiveMenu.cpp" />
|
||||||
<ClCompile Include="views\HRManagerMenu.cpp" />
|
<ClCompile Include="views\HRManagerMenu.cpp" />
|
||||||
<ClCompile Include="views\ITExecutiveMenu.cpp" />
|
<ClCompile Include="views\ITExecutiveMenu.cpp" />
|
||||||
|
<ClCompile Include="views\MenuHelper.cpp" />
|
||||||
<ClCompile Include="views\TalentExecutiveMenu.cpp" />
|
<ClCompile Include="views\TalentExecutiveMenu.cpp" />
|
||||||
<ClCompile Include="views\TeamExecutiveMenu.cpp" />
|
<ClCompile Include="views\TeamExecutiveMenu.cpp" />
|
||||||
<ClCompile Include="views\TeamLeadMenu.cpp" />
|
<ClCompile Include="views\TeamLeadMenu.cpp" />
|
||||||
@@ -222,6 +223,7 @@
|
|||||||
<ClInclude Include="views\FinanceExecutiveMenu.h" />
|
<ClInclude Include="views\FinanceExecutiveMenu.h" />
|
||||||
<ClInclude Include="views\HRManagerMenu.h" />
|
<ClInclude Include="views\HRManagerMenu.h" />
|
||||||
<ClInclude Include="views\ITExecutiveMenu.h" />
|
<ClInclude Include="views\ITExecutiveMenu.h" />
|
||||||
|
<ClInclude Include="views\MenuHelper.h" />
|
||||||
<ClInclude Include="views\TalentExecutiveMenu.h" />
|
<ClInclude Include="views\TalentExecutiveMenu.h" />
|
||||||
<ClInclude Include="views\TeamExecutiveMenu.h" />
|
<ClInclude Include="views\TeamExecutiveMenu.h" />
|
||||||
<ClInclude Include="views\TeamLeadMenu.h" />
|
<ClInclude Include="views\TeamLeadMenu.h" />
|
||||||
|
|||||||
@@ -192,6 +192,9 @@
|
|||||||
<ClCompile Include="services\EmployeeManagementService.cpp">
|
<ClCompile Include="services\EmployeeManagementService.cpp">
|
||||||
<Filter>Services</Filter>
|
<Filter>Services</Filter>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
|
<ClCompile Include="views\MenuHelper.cpp">
|
||||||
|
<Filter>Views</Filter>
|
||||||
|
</ClCompile>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ClInclude Include="services\AuthenticationManagementService.h">
|
<ClInclude Include="services\AuthenticationManagementService.h">
|
||||||
@@ -338,6 +341,9 @@
|
|||||||
<ClInclude Include="services\EmployeeManagementService.h">
|
<ClInclude Include="services\EmployeeManagementService.h">
|
||||||
<Filter>Services</Filter>
|
<Filter>Services</Filter>
|
||||||
</ClInclude>
|
</ClInclude>
|
||||||
|
<ClInclude Include="views\MenuHelper.h">
|
||||||
|
<Filter>Views</Filter>
|
||||||
|
</ClInclude>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ClInclude Include="models\Employee.h">
|
<ClInclude Include="models\Employee.h">
|
||||||
|
|||||||
@@ -27,10 +27,15 @@ bool ZenvyController::deactivateEmployee(const std::string& id)
|
|||||||
return m_employeeManagementService->deactivateEmployee(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&);
|
bool deactivateEmployee(const std::string&);
|
||||||
Employees getEmployees();
|
Employees getEmployees();
|
||||||
std::shared_ptr<const Employee> getEmployee(const std::string&);
|
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)
|
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)
|
bool EmployeeManagementService::deactivateEmployee(const std::string& id)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
Employees EmployeeManagementService::getEmployees()
|
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)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
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
|
#pragma once
|
||||||
#include <vector>
|
#include <vector>
|
||||||
#include <tuple>
|
#include <tuple>
|
||||||
|
#include <algorithm>
|
||||||
|
#include <utility>
|
||||||
#include "DataStore.h"
|
#include "DataStore.h"
|
||||||
#include "Enums.h"
|
#include "Enums.h"
|
||||||
|
|
||||||
@@ -16,4 +18,5 @@ public:
|
|||||||
bool deactivateEmployee(const std::string&);
|
bool deactivateEmployee(const std::string&);
|
||||||
Employees getEmployees();
|
Employees getEmployees();
|
||||||
std::shared_ptr<const Employee> getEmployee(const std::string&);
|
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
|
#pragma once
|
||||||
|
#include <string>
|
||||||
|
|
||||||
namespace Enums {
|
namespace Enums {
|
||||||
|
|
||||||
@@ -89,4 +90,149 @@ namespace Enums {
|
|||||||
USER_NOT_FOUND,
|
USER_NOT_FOUND,
|
||||||
INVALID_PASSWORD
|
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
|
#pragma once
|
||||||
|
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
#include <limits>
|
#include <limits>
|
||||||
#include <string>
|
#include <string>
|
||||||
|
|||||||
@@ -2,6 +2,7 @@
|
|||||||
#include "AdminMenu.h"
|
#include "AdminMenu.h"
|
||||||
#include "InputHelper.h"
|
#include "InputHelper.h"
|
||||||
#include "OutputHelper.h"
|
#include "OutputHelper.h"
|
||||||
|
#include "MenuHelper.h"
|
||||||
|
|
||||||
void AdminMenu::run()
|
void AdminMenu::run()
|
||||||
{
|
{
|
||||||
@@ -44,9 +45,20 @@ bool AdminMenu::handleOperation(int choice)
|
|||||||
m_zenvyController.deactivateEmployee();
|
m_zenvyController.deactivateEmployee();
|
||||||
break;*/
|
break;*/
|
||||||
case 5:
|
case 5:
|
||||||
|
searchEmployee();
|
||||||
|
break;
|
||||||
|
case 6:
|
||||||
return false;
|
return false;
|
||||||
default:
|
default:
|
||||||
std::cout << "Enter a valid choice!" << std::endl;
|
std::cout << "Enter a valid choice!" << std::endl;
|
||||||
}
|
}
|
||||||
return true;
|
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
|
#pragma once
|
||||||
#include<memory>
|
#include<memory>
|
||||||
|
#include "MenuHelper.h"
|
||||||
#include"ZenvyController.h"
|
#include"ZenvyController.h"
|
||||||
|
|
||||||
class AdminMenu
|
class AdminMenu
|
||||||
@@ -10,5 +11,6 @@ public:
|
|||||||
AdminMenu() :m_zenvyController(std::make_shared<ZenvyController>()) {};
|
AdminMenu() :m_zenvyController(std::make_shared<ZenvyController>()) {};
|
||||||
void run();
|
void run();
|
||||||
bool handleOperation(int);
|
bool handleOperation(int);
|
||||||
|
void searchEmployee();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -51,11 +51,11 @@ bool EmployeeMenu::handleOperation(int choice)
|
|||||||
break;
|
break;
|
||||||
case 7:
|
case 7:
|
||||||
m_zenvyController.viewEmployees();
|
m_zenvyController.viewEmployees();
|
||||||
break;
|
break;*/
|
||||||
case 8:
|
case 8:
|
||||||
m_zenvyController.searchEmployee();
|
searchEmployee();
|
||||||
break;
|
break;
|
||||||
case 9:
|
/*case 9:
|
||||||
m_zenvyController.viewTeamMembers();
|
m_zenvyController.viewTeamMembers();
|
||||||
break;
|
break;
|
||||||
case 10:
|
case 10:
|
||||||
@@ -69,11 +69,18 @@ bool EmployeeMenu::handleOperation(int choice)
|
|||||||
break;
|
break;
|
||||||
case 13:
|
case 13:
|
||||||
m_zenvyController.viewAnnouncements();
|
m_zenvyController.viewAnnouncements();
|
||||||
break;*/
|
break;
|
||||||
case 14:
|
case 14:
|
||||||
return false;
|
return false;
|
||||||
default:
|
default:
|
||||||
std::cout << "Enter a valid choice!" << std::endl;
|
std::cout << "Enter a valid choice!" << std::endl;*/
|
||||||
}
|
}
|
||||||
return true;
|
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
|
#pragma once
|
||||||
#include<memory>
|
#include<memory>
|
||||||
|
#include <iomanip>
|
||||||
|
#include "MenuHelper.h"
|
||||||
#include"ZenvyController.h"
|
#include"ZenvyController.h"
|
||||||
|
|
||||||
class EmployeeMenu
|
class EmployeeMenu
|
||||||
@@ -10,5 +12,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 searchEmployee();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -42,11 +42,11 @@ bool FinanceExecutiveMenu::handleOperation(int choice)
|
|||||||
break;
|
break;
|
||||||
case 4:
|
case 4:
|
||||||
m_zenvyController.viewEmployees();
|
m_zenvyController.viewEmployees();
|
||||||
break;
|
break;*/
|
||||||
case 5:
|
case 5:
|
||||||
m_zenvyController.searchEmployee();
|
searchEmployee();
|
||||||
break;
|
break;
|
||||||
case 6:
|
/*case 6:
|
||||||
m_zenvyController.viewNotifications();
|
m_zenvyController.viewNotifications();
|
||||||
break;
|
break;
|
||||||
case 7:
|
case 7:
|
||||||
@@ -60,11 +60,19 @@ bool FinanceExecutiveMenu::handleOperation(int choice)
|
|||||||
break;
|
break;
|
||||||
case 10:
|
case 10:
|
||||||
m_zenvyController.updatePayroll();
|
m_zenvyController.updatePayroll();
|
||||||
break;*/
|
break;
|
||||||
case 11:
|
case 11:
|
||||||
return false;
|
return false;
|
||||||
default:
|
default:
|
||||||
std::cout << "Enter a valid choice!" << std::endl;
|
std::cout << "Enter a valid choice!" << std::endl;*/
|
||||||
}
|
}
|
||||||
return true;
|
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
|
#pragma once
|
||||||
#include<memory>
|
#include<memory>
|
||||||
|
#include "MenuHelper.h"
|
||||||
#include"ZenvyController.h"
|
#include"ZenvyController.h"
|
||||||
|
|
||||||
class FinanceExecutiveMenu
|
class FinanceExecutiveMenu
|
||||||
@@ -10,5 +11,6 @@ public:
|
|||||||
FinanceExecutiveMenu() : m_zenvyController(std::make_shared<ZenvyController>()) {};
|
FinanceExecutiveMenu() : m_zenvyController(std::make_shared<ZenvyController>()) {};
|
||||||
void run();
|
void run();
|
||||||
bool handleOperation(int);
|
bool handleOperation(int);
|
||||||
|
void searchEmployee();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -31,43 +31,51 @@ bool HRManagerMenu::handleOperation(int choice)
|
|||||||
{
|
{
|
||||||
switch (choice)
|
switch (choice)
|
||||||
{
|
{
|
||||||
//case 1:
|
/*case 1:
|
||||||
// m_zenvyController.applyLeave();
|
m_zenvyController.applyLeave();
|
||||||
// break;
|
break;
|
||||||
//case 2:
|
case 2:
|
||||||
// m_zenvyController.viewPayslip();
|
m_zenvyController.viewPayslip();
|
||||||
// break;
|
break;
|
||||||
//case 3:
|
case 3:
|
||||||
// m_zenvyController.viewPayslipHistory();
|
m_zenvyController.viewPayslipHistory();
|
||||||
// break;
|
break;
|
||||||
//case 4:
|
case 4:
|
||||||
// m_zenvyController.viewEmployees();
|
m_zenvyController.viewEmployees();
|
||||||
// break;
|
break;*/
|
||||||
//case 5:
|
case 5:
|
||||||
// m_zenvyController.searchEmployee();
|
searchEmployee();
|
||||||
// break;
|
break;
|
||||||
//case 6:
|
/*case 6:
|
||||||
// m_zenvyController.viewNotifications();
|
m_zenvyController.viewNotifications();
|
||||||
// break;
|
break;
|
||||||
//case 7:
|
case 7:
|
||||||
// m_zenvyController.viewAnnouncements();
|
m_zenvyController.viewAnnouncements();
|
||||||
// break;
|
break;
|
||||||
//case 8:
|
case 8:
|
||||||
// m_zenvyController.createEmployee();
|
m_zenvyController.createEmployee();
|
||||||
// break;
|
break;
|
||||||
//case 9:
|
case 9:
|
||||||
// m_zenvyController.regularizeAttenance();
|
m_zenvyController.regularizeAttenance();
|
||||||
// break;
|
break;
|
||||||
//case 10:
|
case 10:
|
||||||
// m_zenvyController.updateLeaveRequest();
|
m_zenvyController.updateLeaveRequest();
|
||||||
// break;
|
break;
|
||||||
//case 11:
|
case 11:
|
||||||
// m_zenvyController.registercandidateAsEmployee();
|
m_zenvyController.registercandidateAsEmployee();
|
||||||
// break;
|
break;
|
||||||
case 12:
|
case 12:
|
||||||
return false;
|
return false;
|
||||||
default:
|
default:
|
||||||
std::cout << "Enter a valid choice!" << std::endl;
|
std::cout << "Enter a valid choice!" << std::endl;*/
|
||||||
}
|
}
|
||||||
return true;
|
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
|
#pragma once
|
||||||
#include<memory>
|
#include<memory>
|
||||||
|
#include "MenuHelper.h"
|
||||||
#include"ZenvyController.h"
|
#include"ZenvyController.h"
|
||||||
|
|
||||||
class HRManagerMenu
|
class HRManagerMenu
|
||||||
@@ -10,5 +11,6 @@ public:
|
|||||||
HRManagerMenu() : m_zenvyController(std::make_shared<ZenvyController>()) {};
|
HRManagerMenu() : m_zenvyController(std::make_shared<ZenvyController>()) {};
|
||||||
void run();
|
void run();
|
||||||
bool handleOperation(int);
|
bool handleOperation(int);
|
||||||
|
void searchEmployee();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -42,11 +42,11 @@ bool ITExecutiveMenu::handleOperation(int choice)
|
|||||||
break;
|
break;
|
||||||
case 4:
|
case 4:
|
||||||
m_zenvyController.viewEmployees();
|
m_zenvyController.viewEmployees();
|
||||||
break;
|
break;*/
|
||||||
case 5:
|
case 5:
|
||||||
m_zenvyController.searchEmployee();
|
searchEmployee();
|
||||||
break;
|
break;
|
||||||
case 6:
|
/*case 6:
|
||||||
m_zenvyController.viewNotifications();
|
m_zenvyController.viewNotifications();
|
||||||
break;
|
break;
|
||||||
case 7:
|
case 7:
|
||||||
@@ -54,11 +54,19 @@ bool ITExecutiveMenu::handleOperation(int choice)
|
|||||||
break;
|
break;
|
||||||
case 8:
|
case 8:
|
||||||
m_zenvyController.resolveTicket();
|
m_zenvyController.resolveTicket();
|
||||||
break;*/
|
break;
|
||||||
case 9:
|
case 9:
|
||||||
return false;
|
return false;
|
||||||
default:
|
default:
|
||||||
std::cout << "Enter a valid choice!" << std::endl;
|
std::cout << "Enter a valid choice!" << std::endl;*/
|
||||||
}
|
}
|
||||||
return true;
|
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
|
#pragma once
|
||||||
#include<memory>
|
#include<memory>
|
||||||
|
#include "MenuHelper.h"
|
||||||
#include"ZenvyController.h"
|
#include"ZenvyController.h"
|
||||||
|
|
||||||
class ITExecutiveMenu
|
class ITExecutiveMenu
|
||||||
@@ -10,5 +11,6 @@ public:
|
|||||||
ITExecutiveMenu() : m_zenvyController(std::make_shared<ZenvyController>()) {};
|
ITExecutiveMenu() : m_zenvyController(std::make_shared<ZenvyController>()) {};
|
||||||
void run();
|
void run();
|
||||||
bool handleOperation(int);
|
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)
|
switch (choice)
|
||||||
{
|
{
|
||||||
//case 1:
|
/*case 1:
|
||||||
// m_zenvyController.applyLeave();
|
m_zenvyController.applyLeave();
|
||||||
// break;
|
break;
|
||||||
//case 2:
|
case 2:
|
||||||
// m_zenvyController.viewPayslip();
|
m_zenvyController.viewPayslip();
|
||||||
// break;
|
break;
|
||||||
//case 3:
|
case 3:
|
||||||
// m_zenvyController.viewPayslipHistory();
|
m_zenvyController.viewPayslipHistory();
|
||||||
// break;
|
break;
|
||||||
//case 4:
|
case 4:
|
||||||
// m_zenvyController.viewEmployees();
|
m_zenvyController.viewEmployees();
|
||||||
// break;
|
break;*/
|
||||||
//case 5:
|
case 5:
|
||||||
// m_zenvyController.searchEmployee();
|
searchEmployee();
|
||||||
// break;
|
break;
|
||||||
//case 6:
|
/*case 6:
|
||||||
// m_zenvyController.viewNotifications();
|
m_zenvyController.viewNotifications();
|
||||||
// break;
|
break;
|
||||||
//case 7:
|
case 7:
|
||||||
// m_zenvyController.viewAnnouncements();
|
m_zenvyController.viewAnnouncements();
|
||||||
// break;
|
break;
|
||||||
//case 8:
|
case 8:
|
||||||
// m_zenvyController.createNewJob();
|
m_zenvyController.createNewJob();
|
||||||
// break;
|
break;
|
||||||
//case 9:
|
case 9:
|
||||||
// m_zenvyController.viewJobOpenings();
|
m_zenvyController.viewJobOpenings();
|
||||||
// break;
|
break;
|
||||||
//case 10:
|
case 10:
|
||||||
// m_zenvyController.addCandidate();
|
m_zenvyController.addCandidate();
|
||||||
// break;
|
break;
|
||||||
//case 11:
|
case 11:
|
||||||
// m_zenvyController.updateCandidateStatus();
|
m_zenvyController.updateCandidateStatus();
|
||||||
// break;
|
break;
|
||||||
//case 12:
|
case 12:
|
||||||
// m_zenvyController.viewShortlistedCandidates();
|
m_zenvyController.viewShortlistedCandidates();
|
||||||
// break;
|
break;
|
||||||
case 13:
|
case 13:
|
||||||
return false;
|
return false;
|
||||||
default:
|
default:
|
||||||
std::cout << "Enter a valid choice!" << std::endl;
|
std::cout << "Enter a valid choice!" << std::endl;*/
|
||||||
}
|
}
|
||||||
return true;
|
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
|
#pragma once
|
||||||
#include<memory>
|
#include<memory>
|
||||||
|
#include "MenuHelper.h"
|
||||||
#include"ZenvyController.h"
|
#include"ZenvyController.h"
|
||||||
|
|
||||||
class TalentExecutiveMenu
|
class TalentExecutiveMenu
|
||||||
@@ -10,5 +11,6 @@ public:
|
|||||||
TalentExecutiveMenu() : m_zenvyController(std::make_shared < ZenvyController>()) {};
|
TalentExecutiveMenu() : m_zenvyController(std::make_shared < ZenvyController>()) {};
|
||||||
void run();
|
void run();
|
||||||
bool handleOperation(int);
|
bool handleOperation(int);
|
||||||
|
void searchEmployee();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -31,49 +31,57 @@ bool TeamExecutiveMenu::handleOperation(int choice)
|
|||||||
{
|
{
|
||||||
switch (choice)
|
switch (choice)
|
||||||
{
|
{
|
||||||
//case 1:
|
/*case 1:
|
||||||
// m_zenvyController.applyLeave();
|
m_zenvyController.applyLeave();
|
||||||
// break;
|
break;
|
||||||
//case 2:
|
case 2:
|
||||||
// m_zenvyController.viewPayslip();
|
m_zenvyController.viewPayslip();
|
||||||
// break;
|
break;
|
||||||
//case 3:
|
case 3:
|
||||||
// m_zenvyController.viewPayslipHistory();
|
m_zenvyController.viewPayslipHistory();
|
||||||
// break;
|
break;
|
||||||
//case 4:
|
case 4:
|
||||||
// m_zenvyController.viewEmployees();
|
m_zenvyController.viewEmployees();
|
||||||
// break;
|
break;*/
|
||||||
//case 5:
|
case 5:
|
||||||
// m_zenvyController.searchEmployee();
|
searchEmployee();
|
||||||
// break;
|
break;
|
||||||
//case 6:
|
/*case 6:
|
||||||
// m_zenvyController.viewNotifications();
|
m_zenvyController.viewNotifications();
|
||||||
// break;
|
break;
|
||||||
//case 7:
|
case 7:
|
||||||
// m_zenvyController.viewAnnouncements();
|
m_zenvyController.viewAnnouncements();
|
||||||
// break;
|
break;
|
||||||
//case 8:
|
case 8:
|
||||||
// m_zenvyController.createTeam();
|
m_zenvyController.createTeam();
|
||||||
// break;
|
break;
|
||||||
//case 9:
|
case 9:
|
||||||
// m_zenvyController.updateTeam();
|
m_zenvyController.updateTeam();
|
||||||
// break;
|
break;
|
||||||
//case 10:
|
case 10:
|
||||||
// m_zenvyController.removeTeam();
|
m_zenvyController.removeTeam();
|
||||||
// break;
|
break;
|
||||||
//case 11:
|
case 11:
|
||||||
// m_zenvyController.assignEmployee();
|
m_zenvyController.assignEmployee();
|
||||||
// break;
|
break;
|
||||||
//case 12:
|
case 12:
|
||||||
// m_zenvyController.unassignEmployee();
|
m_zenvyController.unassignEmployee();
|
||||||
// break;
|
break;
|
||||||
//case 13:
|
case 13:
|
||||||
// m_zenvyController.viewTeams();
|
m_zenvyController.viewTeams();
|
||||||
// break;
|
break;
|
||||||
case 14:
|
case 14:
|
||||||
return false;
|
return false;
|
||||||
default:
|
default:
|
||||||
std::cout << "Enter a valid choice!" << std::endl;
|
std::cout << "Enter a valid choice!" << std::endl;*/
|
||||||
}
|
}
|
||||||
return true;
|
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
|
#pragma once
|
||||||
#include<memory>
|
#include<memory>
|
||||||
|
#include "MenuHelper.h"
|
||||||
#include"ZenvyController.h"
|
#include"ZenvyController.h"
|
||||||
|
|
||||||
class TeamExecutiveMenu
|
class TeamExecutiveMenu
|
||||||
@@ -10,5 +11,6 @@ public:
|
|||||||
TeamExecutiveMenu() : m_zenvyController(std::make_shared<ZenvyController>()) {};
|
TeamExecutiveMenu() : m_zenvyController(std::make_shared<ZenvyController>()) {};
|
||||||
void run();
|
void run();
|
||||||
bool handleOperation(int);
|
bool handleOperation(int);
|
||||||
|
void searchEmployee();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -51,11 +51,11 @@ bool TeamLeadMenu::handleOperation(int choice)
|
|||||||
break;
|
break;
|
||||||
case 7:
|
case 7:
|
||||||
m_zenvyController.viewEmployees();
|
m_zenvyController.viewEmployees();
|
||||||
break;
|
break;*/
|
||||||
case 8:
|
case 8:
|
||||||
m_zenvyController.searchEmployee();
|
searchEmployee();
|
||||||
break;
|
break;
|
||||||
case 9:
|
/*case 9:
|
||||||
m_zenvyController.viewTeamMembers();
|
m_zenvyController.viewTeamMembers();
|
||||||
break;
|
break;
|
||||||
case 10:
|
case 10:
|
||||||
@@ -75,11 +75,19 @@ bool TeamLeadMenu::handleOperation(int choice)
|
|||||||
break;
|
break;
|
||||||
case 15:
|
case 15:
|
||||||
m_zenvyController.updateLeaveRequest();
|
m_zenvyController.updateLeaveRequest();
|
||||||
break;*/
|
break;
|
||||||
case 16:
|
case 16:
|
||||||
return false;
|
return false;
|
||||||
default:
|
default:
|
||||||
std::cout << "Enter a valid choice!" << std::endl;
|
std::cout << "Enter a valid choice!" << std::endl;*/
|
||||||
}
|
}
|
||||||
return true;
|
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
|
#pragma once
|
||||||
#include<memory>
|
#include<memory>
|
||||||
|
#include "MenuHelper.h"
|
||||||
#include"ZenvyController.h"
|
#include"ZenvyController.h"
|
||||||
|
|
||||||
class TeamLeadMenu
|
class TeamLeadMenu
|
||||||
@@ -10,5 +11,6 @@ public:
|
|||||||
TeamLeadMenu() : m_zenvyController(std::make_shared<ZenvyController>()) {};
|
TeamLeadMenu() : m_zenvyController(std::make_shared<ZenvyController>()) {};
|
||||||
void run();
|
void run();
|
||||||
bool handleOperation(int);
|
bool handleOperation(int);
|
||||||
|
void searchEmployee();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user