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:
@@ -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