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(); };