diff --git a/Trenser.Zenvy/Trenser.Zenvy/Trenser.Zenvy.vcxproj b/Trenser.Zenvy/Trenser.Zenvy/Trenser.Zenvy.vcxproj
index 7b35079..3116d41 100644
--- a/Trenser.Zenvy/Trenser.Zenvy/Trenser.Zenvy.vcxproj
+++ b/Trenser.Zenvy/Trenser.Zenvy/Trenser.Zenvy.vcxproj
@@ -172,6 +172,7 @@
+
@@ -222,6 +223,7 @@
+
diff --git a/Trenser.Zenvy/Trenser.Zenvy/Trenser.Zenvy.vcxproj.filters b/Trenser.Zenvy/Trenser.Zenvy/Trenser.Zenvy.vcxproj.filters
index d9514f7..0def00c 100644
--- a/Trenser.Zenvy/Trenser.Zenvy/Trenser.Zenvy.vcxproj.filters
+++ b/Trenser.Zenvy/Trenser.Zenvy/Trenser.Zenvy.vcxproj.filters
@@ -192,6 +192,9 @@
Services
+
+ Views
+
@@ -338,6 +341,9 @@
Services
+
+ Views
+
diff --git a/Trenser.Zenvy/Trenser.Zenvy/controllers/ZenvyController.cpp b/Trenser.Zenvy/Trenser.Zenvy/controllers/ZenvyController.cpp
index e7f4e30..f02f774 100644
--- a/Trenser.Zenvy/Trenser.Zenvy/controllers/ZenvyController.cpp
+++ b/Trenser.Zenvy/Trenser.Zenvy/controllers/ZenvyController.cpp
@@ -27,10 +27,15 @@ bool ZenvyController::deactivateEmployee(const std::string& id)
return m_employeeManagementService->deactivateEmployee(id);
}
-Employees EmployeeManagementService::getEmployees()
+std::pair>> ZenvyController::searchEmployee(const std::string& name)
+{
+ m_employeeManagementService->searchEmployee(name);
+}
+
+Employees ZenvyController::getEmployees()
{
}
-std::shared_ptr EmployeeManagementService::getEmployee(const std::string& id)
+std::shared_ptr ZenvyController::getEmployee(const std::string& id)
{
}
diff --git a/Trenser.Zenvy/Trenser.Zenvy/controllers/ZenvyController.h b/Trenser.Zenvy/Trenser.Zenvy/controllers/ZenvyController.h
index 89ba319..2c8a260 100644
--- a/Trenser.Zenvy/Trenser.Zenvy/controllers/ZenvyController.h
+++ b/Trenser.Zenvy/Trenser.Zenvy/controllers/ZenvyController.h
@@ -49,4 +49,5 @@ public:
bool deactivateEmployee(const std::string&);
Employees getEmployees();
std::shared_ptr getEmployee(const std::string&);
+ std::pair>> searchEmployee(const std::string&);
};
diff --git a/Trenser.Zenvy/Trenser.Zenvy/services/EmployeeManagementService.cpp b/Trenser.Zenvy/Trenser.Zenvy/services/EmployeeManagementService.cpp
index 56e27b0..a825956 100644
--- a/Trenser.Zenvy/Trenser.Zenvy/services/EmployeeManagementService.cpp
+++ b/Trenser.Zenvy/Trenser.Zenvy/services/EmployeeManagementService.cpp
@@ -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 EmployeeManagementService::getEmployee(const std::string& id)
{
}
+std::pair>> EmployeeManagementService::searchEmployee(const std::string& name)
+{
+ std::shared_ptr currentUser = m_dataStore.getAuthenticatedEmployee();
+ Enums::EmployeeType employeeType = currentUser->getEmployeeType();
+ employeeMap& employees = m_dataStore.getEmployees();
+ std::vector> 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 };
+}
diff --git a/Trenser.Zenvy/Trenser.Zenvy/services/EmployeeManagementService.h b/Trenser.Zenvy/Trenser.Zenvy/services/EmployeeManagementService.h
index 5ff7613..e355154 100644
--- a/Trenser.Zenvy/Trenser.Zenvy/services/EmployeeManagementService.h
+++ b/Trenser.Zenvy/Trenser.Zenvy/services/EmployeeManagementService.h
@@ -1,6 +1,8 @@
#pragma once
#include
#include
+#include
+#include
#include "DataStore.h"
#include "Enums.h"
@@ -16,4 +18,5 @@ public:
bool deactivateEmployee(const std::string&);
Employees getEmployees();
std::shared_ptr getEmployee(const std::string&);
+ std::pair>> searchEmployee(const std::string&);
};
diff --git a/Trenser.Zenvy/Trenser.Zenvy/utilities/Enums.h b/Trenser.Zenvy/Trenser.Zenvy/utilities/Enums.h
index ace8792..bf70b93 100644
--- a/Trenser.Zenvy/Trenser.Zenvy/utilities/Enums.h
+++ b/Trenser.Zenvy/Trenser.Zenvy/utilities/Enums.h
@@ -1,4 +1,5 @@
#pragma once
+#include
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 {
+
+
}
diff --git a/Trenser.Zenvy/Trenser.Zenvy/utilities/InputHelper.h b/Trenser.Zenvy/Trenser.Zenvy/utilities/InputHelper.h
index 559acda..f7d3fbf 100644
--- a/Trenser.Zenvy/Trenser.Zenvy/utilities/InputHelper.h
+++ b/Trenser.Zenvy/Trenser.Zenvy/utilities/InputHelper.h
@@ -1,5 +1,4 @@
#pragma once
-
#include
#include
#include
diff --git a/Trenser.Zenvy/Trenser.Zenvy/views/AdminMenu.cpp b/Trenser.Zenvy/Trenser.Zenvy/views/AdminMenu.cpp
index ecad349..9d902a8 100644
--- a/Trenser.Zenvy/Trenser.Zenvy/views/AdminMenu.cpp
+++ b/Trenser.Zenvy/Trenser.Zenvy/views/AdminMenu.cpp
@@ -1,7 +1,8 @@
#include
#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);
}
\ No newline at end of file
diff --git a/Trenser.Zenvy/Trenser.Zenvy/views/AdminMenu.h b/Trenser.Zenvy/Trenser.Zenvy/views/AdminMenu.h
index dab23c5..89804bc 100644
--- a/Trenser.Zenvy/Trenser.Zenvy/views/AdminMenu.h
+++ b/Trenser.Zenvy/Trenser.Zenvy/views/AdminMenu.h
@@ -1,5 +1,6 @@
#pragma once
#include
+#include "MenuHelper.h"
#include"ZenvyController.h"
class AdminMenu
@@ -10,5 +11,6 @@ public:
AdminMenu() :m_zenvyController(std::make_shared()) {};
void run();
bool handleOperation(int);
+ void searchEmployee();
};
diff --git a/Trenser.Zenvy/Trenser.Zenvy/views/EmployeeMenu.cpp b/Trenser.Zenvy/Trenser.Zenvy/views/EmployeeMenu.cpp
index 99e3bc0..b6ddedd 100644
--- a/Trenser.Zenvy/Trenser.Zenvy/views/EmployeeMenu.cpp
+++ b/Trenser.Zenvy/Trenser.Zenvy/views/EmployeeMenu.cpp
@@ -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;
-}
\ No newline at end of file
+}
+void EmployeeMenu::searchEmployee()
+{
+ std::string name;
+ std::cout << "Enter Employee Name: ";
+ util::read(name);
+ searchTheEmployee(name, m_zenvyController);
+}
diff --git a/Trenser.Zenvy/Trenser.Zenvy/views/EmployeeMenu.h b/Trenser.Zenvy/Trenser.Zenvy/views/EmployeeMenu.h
index f082b66..331dd9d 100644
--- a/Trenser.Zenvy/Trenser.Zenvy/views/EmployeeMenu.h
+++ b/Trenser.Zenvy/Trenser.Zenvy/views/EmployeeMenu.h
@@ -1,5 +1,7 @@
#pragma once
#include
+#include
+#include "MenuHelper.h"
#include"ZenvyController.h"
class EmployeeMenu
@@ -10,5 +12,6 @@ public:
EmployeeMenu() : m_zenvyController(std::make_shared()) {};
void run();
bool handleOperation(int);
+ void searchEmployee();
};
diff --git a/Trenser.Zenvy/Trenser.Zenvy/views/FinanceExecutiveMenu.cpp b/Trenser.Zenvy/Trenser.Zenvy/views/FinanceExecutiveMenu.cpp
index 081d281..90b5a5c 100644
--- a/Trenser.Zenvy/Trenser.Zenvy/views/FinanceExecutiveMenu.cpp
+++ b/Trenser.Zenvy/Trenser.Zenvy/views/FinanceExecutiveMenu.cpp
@@ -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);
+}
\ No newline at end of file
diff --git a/Trenser.Zenvy/Trenser.Zenvy/views/FinanceExecutiveMenu.h b/Trenser.Zenvy/Trenser.Zenvy/views/FinanceExecutiveMenu.h
index 825322f..1da4e2f 100644
--- a/Trenser.Zenvy/Trenser.Zenvy/views/FinanceExecutiveMenu.h
+++ b/Trenser.Zenvy/Trenser.Zenvy/views/FinanceExecutiveMenu.h
@@ -1,5 +1,6 @@
#pragma once
#include
+#include "MenuHelper.h"
#include"ZenvyController.h"
class FinanceExecutiveMenu
@@ -10,5 +11,6 @@ public:
FinanceExecutiveMenu() : m_zenvyController(std::make_shared()) {};
void run();
bool handleOperation(int);
+ void searchEmployee();
};
diff --git a/Trenser.Zenvy/Trenser.Zenvy/views/HRManagerMenu.cpp b/Trenser.Zenvy/Trenser.Zenvy/views/HRManagerMenu.cpp
index 7bf812c..908b2b0 100644
--- a/Trenser.Zenvy/Trenser.Zenvy/views/HRManagerMenu.cpp
+++ b/Trenser.Zenvy/Trenser.Zenvy/views/HRManagerMenu.cpp
@@ -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);
+}
diff --git a/Trenser.Zenvy/Trenser.Zenvy/views/HRManagerMenu.h b/Trenser.Zenvy/Trenser.Zenvy/views/HRManagerMenu.h
index 05e1f41..986137b 100644
--- a/Trenser.Zenvy/Trenser.Zenvy/views/HRManagerMenu.h
+++ b/Trenser.Zenvy/Trenser.Zenvy/views/HRManagerMenu.h
@@ -1,5 +1,6 @@
#pragma once
#include
+#include "MenuHelper.h"
#include"ZenvyController.h"
class HRManagerMenu
@@ -10,5 +11,6 @@ public:
HRManagerMenu() : m_zenvyController(std::make_shared()) {};
void run();
bool handleOperation(int);
+ void searchEmployee();
};
diff --git a/Trenser.Zenvy/Trenser.Zenvy/views/ITExecutiveMenu.cpp b/Trenser.Zenvy/Trenser.Zenvy/views/ITExecutiveMenu.cpp
index 836ca39..b231f2f 100644
--- a/Trenser.Zenvy/Trenser.Zenvy/views/ITExecutiveMenu.cpp
+++ b/Trenser.Zenvy/Trenser.Zenvy/views/ITExecutiveMenu.cpp
@@ -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);
+}
\ No newline at end of file
diff --git a/Trenser.Zenvy/Trenser.Zenvy/views/ITExecutiveMenu.h b/Trenser.Zenvy/Trenser.Zenvy/views/ITExecutiveMenu.h
index 1c5f060..fddfb8b 100644
--- a/Trenser.Zenvy/Trenser.Zenvy/views/ITExecutiveMenu.h
+++ b/Trenser.Zenvy/Trenser.Zenvy/views/ITExecutiveMenu.h
@@ -1,5 +1,6 @@
#pragma once
#include
+#include "MenuHelper.h"
#include"ZenvyController.h"
class ITExecutiveMenu
@@ -10,5 +11,6 @@ public:
ITExecutiveMenu() : m_zenvyController(std::make_shared()) {};
void run();
bool handleOperation(int);
+ void searchEmployee();
};
diff --git a/Trenser.Zenvy/Trenser.Zenvy/views/MenuHelper.cpp b/Trenser.Zenvy/Trenser.Zenvy/views/MenuHelper.cpp
new file mode 100644
index 0000000..5505d19
--- /dev/null
+++ b/Trenser.Zenvy/Trenser.Zenvy/views/MenuHelper.cpp
@@ -0,0 +1,3 @@
+#include "MenuHelper.h"
+
+
diff --git a/Trenser.Zenvy/Trenser.Zenvy/views/MenuHelper.h b/Trenser.Zenvy/Trenser.Zenvy/views/MenuHelper.h
new file mode 100644
index 0000000..16f6958
--- /dev/null
+++ b/Trenser.Zenvy/Trenser.Zenvy/views/MenuHelper.h
@@ -0,0 +1,69 @@
+#pragma once
+#include
+#include
+#include
+#include
+#include
+#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& m_zenvyController)
+{
+ std::pair>> 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 employee)
+{
+ switch (type)
+ {
+ case Enums::EmployeeType::FINANCE:
+ displayPayroll(employee->getPayroll());
+ break;
+ }
+}
+void displayPayroll(std::shared_ptr 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;
+}
diff --git a/Trenser.Zenvy/Trenser.Zenvy/views/TalentExecutiveMenu.cpp b/Trenser.Zenvy/Trenser.Zenvy/views/TalentExecutiveMenu.cpp
index 45fbfba..6bfcba0 100644
--- a/Trenser.Zenvy/Trenser.Zenvy/views/TalentExecutiveMenu.cpp
+++ b/Trenser.Zenvy/Trenser.Zenvy/views/TalentExecutiveMenu.cpp
@@ -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);
+}
\ No newline at end of file
diff --git a/Trenser.Zenvy/Trenser.Zenvy/views/TalentExecutiveMenu.h b/Trenser.Zenvy/Trenser.Zenvy/views/TalentExecutiveMenu.h
index a258eaf..94dd86e 100644
--- a/Trenser.Zenvy/Trenser.Zenvy/views/TalentExecutiveMenu.h
+++ b/Trenser.Zenvy/Trenser.Zenvy/views/TalentExecutiveMenu.h
@@ -1,5 +1,6 @@
#pragma once
#include
+#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();
};
diff --git a/Trenser.Zenvy/Trenser.Zenvy/views/TeamExecutiveMenu.cpp b/Trenser.Zenvy/Trenser.Zenvy/views/TeamExecutiveMenu.cpp
index 12c300b..6b847a8 100644
--- a/Trenser.Zenvy/Trenser.Zenvy/views/TeamExecutiveMenu.cpp
+++ b/Trenser.Zenvy/Trenser.Zenvy/views/TeamExecutiveMenu.cpp
@@ -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);
+}
\ No newline at end of file
diff --git a/Trenser.Zenvy/Trenser.Zenvy/views/TeamExecutiveMenu.h b/Trenser.Zenvy/Trenser.Zenvy/views/TeamExecutiveMenu.h
index 4b5181d..a3d5382 100644
--- a/Trenser.Zenvy/Trenser.Zenvy/views/TeamExecutiveMenu.h
+++ b/Trenser.Zenvy/Trenser.Zenvy/views/TeamExecutiveMenu.h
@@ -1,5 +1,6 @@
#pragma once
#include
+#include "MenuHelper.h"
#include"ZenvyController.h"
class TeamExecutiveMenu
@@ -10,5 +11,6 @@ public:
TeamExecutiveMenu() : m_zenvyController(std::make_shared()) {};
void run();
bool handleOperation(int);
+ void searchEmployee();
};
diff --git a/Trenser.Zenvy/Trenser.Zenvy/views/TeamLeadMenu.cpp b/Trenser.Zenvy/Trenser.Zenvy/views/TeamLeadMenu.cpp
index 4204fb7..99fe626 100644
--- a/Trenser.Zenvy/Trenser.Zenvy/views/TeamLeadMenu.cpp
+++ b/Trenser.Zenvy/Trenser.Zenvy/views/TeamLeadMenu.cpp
@@ -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);
+}
\ No newline at end of file
diff --git a/Trenser.Zenvy/Trenser.Zenvy/views/TeamLeadMenu.h b/Trenser.Zenvy/Trenser.Zenvy/views/TeamLeadMenu.h
index e1bd45b..878d961 100644
--- a/Trenser.Zenvy/Trenser.Zenvy/views/TeamLeadMenu.h
+++ b/Trenser.Zenvy/Trenser.Zenvy/views/TeamLeadMenu.h
@@ -1,5 +1,6 @@
#pragma once
#include
+#include "MenuHelper.h"
#include"ZenvyController.h"
class TeamLeadMenu
@@ -10,5 +11,6 @@ public:
TeamLeadMenu() : m_zenvyController(std::make_shared()) {};
void run();
bool handleOperation(int);
+ void searchEmployee();
};