diff --git a/Trenser.Zenvy/Trenser.Zenvy/models/Payroll.cpp b/Trenser.Zenvy/Trenser.Zenvy/models/Payroll.cpp index 3291519..b145a4f 100644 --- a/Trenser.Zenvy/Trenser.Zenvy/models/Payroll.cpp +++ b/Trenser.Zenvy/Trenser.Zenvy/models/Payroll.cpp @@ -109,11 +109,11 @@ std::string Payroll::serialize() const std::shared_ptr Payroll::deserialize(const std::string& record) { std::string id, employeeId; - std::string basicSalaryStr, houseRentAllowanceString, foodAllowanceString, employeePFString, employerPFString; + std::string basicSalaryString, houseRentAllowanceString, foodAllowanceString, employeePFString, employerPFString; std::istringstream serializedPayroll(record); std::getline(serializedPayroll, id, ','); std::getline(serializedPayroll, employeeId, ','); - std::getline(serializedPayroll, basicSalaryStr, ','); + std::getline(serializedPayroll, basicSalaryString, ','); std::getline(serializedPayroll, houseRentAllowanceString, ','); std::getline(serializedPayroll, foodAllowanceString, ','); std::getline(serializedPayroll, employeePFString, ','); @@ -121,7 +121,7 @@ std::shared_ptr Payroll::deserialize(const std::string& record) try { - double basicSalary = std::stod(basicSalaryStr); + double basicSalary = std::stod(basicSalaryString); double houseRentAllowance = std::stod(houseRentAllowanceString); double foodAllowance = std::stod(foodAllowanceString); double employeePFContribution = std::stod(employeePFString); diff --git a/Trenser.Zenvy/Trenser.Zenvy/utilities/Enums.h b/Trenser.Zenvy/Trenser.Zenvy/utilities/Enums.h index 2021b68..d54cb0b 100644 --- a/Trenser.Zenvy/Trenser.Zenvy/utilities/Enums.h +++ b/Trenser.Zenvy/Trenser.Zenvy/utilities/Enums.h @@ -162,48 +162,76 @@ namespace Enums { inline AccountStatus getAccountStatus(const std::string& input) { if (input == "ACTIVE") + { return AccountStatus::ACTIVE; + } if (input == "INACTIVE") + { return AccountStatus::INACTIVE; + } return AccountStatus::INACTIVE; } inline EmployeeType getEmployeeType(const std::string& input) { if (input == "GENERAL") + { return EmployeeType::GENERAL; + } if (input == "IT") + { return EmployeeType::IT; + } if (input == "FINANCE") + { return EmployeeType::FINANCE; + } if (input == "TALENT_ACQUISITION") + { return EmployeeType::TALENT_ACQUISITION; + } if (input == "HR") + { return EmployeeType::HR; + } if (input == "TEAM") + { return EmployeeType::TEAM; + } if (input == "ADMIN") + { return EmployeeType::ADMIN; + } return EmployeeType::INVALID; } inline TeamStatus getTeamStatus(const std::string& str) { if (str == "IN_TEAM") + { return TeamStatus::IN_TEAM; + } if (str == "NOT_IN_TEAM") + { return TeamStatus::NOT_IN_TEAM; + } return TeamStatus::NOT_IN_TEAM; } inline EmployeeDesignation getEmployeeDesignation(const std::string& input) { if (input == "JUNIOR") + { return EmployeeDesignation::JUNIOR; + } if (input == "SENIOR") + { return EmployeeDesignation::SENIOR; + } if (input == "TEAM_LEAD") + { return EmployeeDesignation::TEAM_LEAD; + } return EmployeeDesignation::INVALID; } } diff --git a/Trenser.Zenvy/Trenser.Zenvy/utilities/Validator.cpp b/Trenser.Zenvy/Trenser.Zenvy/utilities/Validator.cpp index dd52e33..ee99e68 100644 --- a/Trenser.Zenvy/Trenser.Zenvy/utilities/Validator.cpp +++ b/Trenser.Zenvy/Trenser.Zenvy/utilities/Validator.cpp @@ -18,7 +18,10 @@ bool util::isPhoneNumberValid(const std::string& phoneNumber) { bool util::isEmailValid(const std::string& email) { size_t index = email.find('@'); - if (index == std::string::npos) return false; + if (index == std::string::npos) + { + return false; + } if (email.find('@', index + 1) != std::string::npos) { return false; diff --git a/Trenser.Zenvy/Trenser.Zenvy/views/AdminMenu.cpp b/Trenser.Zenvy/Trenser.Zenvy/views/AdminMenu.cpp index 2d7ffd9..59bbadc 100644 --- a/Trenser.Zenvy/Trenser.Zenvy/views/AdminMenu.cpp +++ b/Trenser.Zenvy/Trenser.Zenvy/views/AdminMenu.cpp @@ -1,7 +1,7 @@ #include #include "AdminMenu.h" -#include "InputHelper.h" -#include "OutputHelper.h" +#include"InputHelper.h" +#include"OutputHelper.h" #include "MenuHelper.h" void AdminMenu::run() @@ -13,7 +13,7 @@ void AdminMenu::run() { int choice; util::clear(); - std::cout << "Admin Menu\n1. Create User\n2. View Employee\n3. Deactivate Employee\n4. Search Employee\n5. Update Profile\n6. Logout\nEnter your Choice: "; + std::cout << "Admin Menu\n1. Create User\n2. View Employees\n3. Deactivate Employee\n4. Search Employee\n5. Update Profile\n6. Logout\nEnter your Choice: "; util::read(choice); if (!handleOperation(choice)) { @@ -35,9 +35,9 @@ bool AdminMenu::handleOperation(int choice) case 1: createEmployee(m_zenvyController); break; - /*case 2: - m_zenvyController.viewEmployee(); - break;*/ + case 2: + viewEmployees(m_zenvyController); + break; case 3: deactivateEmployee(m_zenvyController); break; diff --git a/Trenser.Zenvy/Trenser.Zenvy/views/EmployeeMenu.cpp b/Trenser.Zenvy/Trenser.Zenvy/views/EmployeeMenu.cpp index 7673756..da9741d 100644 --- a/Trenser.Zenvy/Trenser.Zenvy/views/EmployeeMenu.cpp +++ b/Trenser.Zenvy/Trenser.Zenvy/views/EmployeeMenu.cpp @@ -1,4 +1,5 @@ #include +#include #include "EmployeeMenu.h" #include "InputHelper.h" #include "OutputHelper.h" @@ -50,11 +51,11 @@ bool EmployeeMenu::handleOperation(int choice) break; case 6: m_zenvyController.viewTicketHistory(); - break; + break;*/ case 7: - viewEmployees(); + viewEmployees(m_zenvyController); break; - case 8: + /*case 8: m_zenvyController.searchEmployee(); break; case 9: @@ -83,6 +84,3 @@ bool EmployeeMenu::handleOperation(int choice) } return true; } - - - diff --git a/Trenser.Zenvy/Trenser.Zenvy/views/FinanceExecutiveMenu.cpp b/Trenser.Zenvy/Trenser.Zenvy/views/FinanceExecutiveMenu.cpp index 9563f5e..4702ff3 100644 --- a/Trenser.Zenvy/Trenser.Zenvy/views/FinanceExecutiveMenu.cpp +++ b/Trenser.Zenvy/Trenser.Zenvy/views/FinanceExecutiveMenu.cpp @@ -43,7 +43,7 @@ void FinanceExecutiveMenu::updatePayroll() util::read(foodAllowance); std::cout << "Enter the New EmployeePFContribution: "; util::read(employeePFContribution); - std::cout << "Enter the New EmplyerPFContribution: "; + std::cout << "Enter the New EmployerPFContribution: "; util::read(employerPFContribution); m_zenvyController->updateSalary(employeeId, basicSalary, houseRentAllowance, foodAllowance, employeePFContribution, employerPFContribution); std::cout << "Payroll Updated"; @@ -67,9 +67,9 @@ bool FinanceExecutiveMenu::handleOperation(int choice) //case 3: // m_zenvyController.viewPayslipHistory(); // break; - //case 4: - // m_zenvyController.viewEmployees(); - // break; + case 4: + viewEmployees(m_zenvyController); + break; //case 5: // m_zenvyController.searchEmployee(); // break; @@ -99,5 +99,3 @@ bool FinanceExecutiveMenu::handleOperation(int choice) } return true; } - - diff --git a/Trenser.Zenvy/Trenser.Zenvy/views/HRManagerMenu.cpp b/Trenser.Zenvy/Trenser.Zenvy/views/HRManagerMenu.cpp index 541527e..c3e1d0d 100644 --- a/Trenser.Zenvy/Trenser.Zenvy/views/HRManagerMenu.cpp +++ b/Trenser.Zenvy/Trenser.Zenvy/views/HRManagerMenu.cpp @@ -32,39 +32,39 @@ 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 1: + // m_zenvyController.applyLeave(); + // break; + //case 2: + // m_zenvyController.viewPayslip(); + // break; + //case 3: + // m_zenvyController.viewPayslipHistory(); + // break; case 4: - m_zenvyController.viewEmployees(); + viewEmployees(m_zenvyController); break; - case 5: - m_zenvyController.searchEmployee(); - break; - case 6: - m_zenvyController.viewNotifications(); - break; - case 7: - m_zenvyController.viewAnnouncements(); - break;*/ + //case 5: + // m_zenvyController.searchEmployee(); + // break; + //case 6: + // m_zenvyController.viewNotifications(); + // break; + //case 7: + // m_zenvyController.viewAnnouncements(); + // break; case 8: createEmployee(m_zenvyController); break; - /*case 9: - m_zenvyController.regularizeAttenance(); - break; - case 10: - m_zenvyController.updateLeaveRequest(); - break; - case 11: - m_zenvyController.registercandidateAsEmployee(); - break;*/ + //case 9: + // m_zenvyController.regularizeAttenance(); + // break; + //case 10: + // m_zenvyController.updateLeaveRequest(); + // break; + //case 11: + // m_zenvyController.registercandidateAsEmployee(); + // break; case 12: updateProfile(m_zenvyController); break; diff --git a/Trenser.Zenvy/Trenser.Zenvy/views/ITExecutiveMenu.cpp b/Trenser.Zenvy/Trenser.Zenvy/views/ITExecutiveMenu.cpp index 90ae17b..3e4079d 100644 --- a/Trenser.Zenvy/Trenser.Zenvy/views/ITExecutiveMenu.cpp +++ b/Trenser.Zenvy/Trenser.Zenvy/views/ITExecutiveMenu.cpp @@ -40,11 +40,11 @@ bool ITExecutiveMenu::handleOperation(int choice) break; case 3: m_zenvyController.viewPayslipHistory(); - break; + break;*/ case 4: - m_zenvyController.viewEmployees(); + viewEmployees(m_zenvyController); break; - case 5: + /*case 5: m_zenvyController.searchEmployee(); break; case 6: diff --git a/Trenser.Zenvy/Trenser.Zenvy/views/MenuHelper.h b/Trenser.Zenvy/Trenser.Zenvy/views/MenuHelper.h index a4c2fff..ae51660 100644 --- a/Trenser.Zenvy/Trenser.Zenvy/views/MenuHelper.h +++ b/Trenser.Zenvy/Trenser.Zenvy/views/MenuHelper.h @@ -119,3 +119,36 @@ inline void deactivateEmployee(const std::shared_ptr& controlle util::pressEnter(); } } + +inline void viewEmployees(std::shared_ptr m_zenvyController) +{ + util::clear(); + std::cout << "Employee List\n"; + auto employees = m_zenvyController->getEmployees(); + if (employees.empty()) + { + std::cout << "No employees found\n"; + util::pressEnter(); + return; + } + std::cout << std::left + << std::setw(15) << "Employee ID" + << std::setw(25) << "Name" + << std::setw(25) << "Role" + << std::setw(25) << "Email" + << std::setw(15) << "Phone" + << std::setw(10) << "TeamId" + << std::endl; + for (const auto& iterator : employees) + { + std::cout << std::left + << std::setw(15) << iterator->getId() + << std::setw(25) << iterator->getEmployeeName() + << std::setw(25) << Enums::getEmployeeTypeString(iterator->getEmployeeType()) + << std::setw(25) << iterator->getEmployeeEmail() + << std::setw(15) << iterator->getEmployeePhone() + << std::setw(10) << iterator->getEmployeeTeamId() + << std::endl; + } + util::pressEnter(); +} diff --git a/Trenser.Zenvy/Trenser.Zenvy/views/TalentExecutiveMenu.cpp b/Trenser.Zenvy/Trenser.Zenvy/views/TalentExecutiveMenu.cpp index 055d4f1..d46f810 100644 --- a/Trenser.Zenvy/Trenser.Zenvy/views/TalentExecutiveMenu.cpp +++ b/Trenser.Zenvy/Trenser.Zenvy/views/TalentExecutiveMenu.cpp @@ -41,9 +41,9 @@ bool TalentExecutiveMenu::handleOperation(int choice) //case 3: // m_zenvyController.viewPayslipHistory(); // break; - //case 4: - // m_zenvyController.viewEmployees(); - // break; + case 4: + viewEmployees(m_zenvyController); + break; //case 5: // m_zenvyController.searchEmployee(); // break; diff --git a/Trenser.Zenvy/Trenser.Zenvy/views/TeamExecutiveMenu.cpp b/Trenser.Zenvy/Trenser.Zenvy/views/TeamExecutiveMenu.cpp index 5b709b8..feba35c 100644 --- a/Trenser.Zenvy/Trenser.Zenvy/views/TeamExecutiveMenu.cpp +++ b/Trenser.Zenvy/Trenser.Zenvy/views/TeamExecutiveMenu.cpp @@ -41,9 +41,9 @@ bool TeamExecutiveMenu::handleOperation(int choice) //case 3: // m_zenvyController.viewPayslipHistory(); // break; - //case 4: - // m_zenvyController.viewEmployees(); - // break; + case 4: + viewEmployees(m_zenvyController); + break; //case 5: // m_zenvyController.searchEmployee(); // break; diff --git a/Trenser.Zenvy/Trenser.Zenvy/views/TeamLeadMenu.cpp b/Trenser.Zenvy/Trenser.Zenvy/views/TeamLeadMenu.cpp index e32c751..767eef1 100644 --- a/Trenser.Zenvy/Trenser.Zenvy/views/TeamLeadMenu.cpp +++ b/Trenser.Zenvy/Trenser.Zenvy/views/TeamLeadMenu.cpp @@ -49,11 +49,11 @@ bool TeamLeadMenu::handleOperation(int choice) break; case 6: m_zenvyController.viewTicketHistory(); - break; + break;*/ case 7: - m_zenvyController.viewEmployees(); + viewEmployees(m_zenvyController); break; - case 8: + /*case 8: m_zenvyController.searchEmployee(); break; case 9: