diff --git a/Trenser.Zenvy/Trenser.Zenvy/views/AdminMenu.cpp b/Trenser.Zenvy/Trenser.Zenvy/views/AdminMenu.cpp index bf4d089..2f6c762 100644 --- a/Trenser.Zenvy/Trenser.Zenvy/views/AdminMenu.cpp +++ b/Trenser.Zenvy/Trenser.Zenvy/views/AdminMenu.cpp @@ -1 +1,52 @@ +#include #include "AdminMenu.h" +#include"InputHelper.h" +#include"OutputHelper.h" + +void AdminMenu::run() +{ + bool isMenuActive = true; + while (isMenuActive) + { + try + { + int choice; + util::clear(); + std::cout << "Zenvy - HR Management System\n1. Create HRManager\n2. Create Employee\n3. View Employee\n4. Deactivate Employee\n5. Logout\nEnter your Choice: "; + util::read(choice); + if (!handleOperation(choice)) + { + isMenuActive = false; + } + } + catch (const std::exception& e) + { + std::cout << "Exception: " << e.what() << std::endl; + util::pressEnter(); + } + } +} + +bool AdminMenu::handleOperation(int choice) +{ + switch (choice) + { + case 1: + m_zenvyController.createHRManager(); + break; + case 2: + m_zenvyController.createEmployee(); + break; + case 3: + m_zenvyController.viewEmployee(); + break; + case 4: + m_zenvyController.deactivateEmployee(); + break; + case 5: + return false; + default: + std::cout << "Enter a valid choice!" << std::endl; + } + return true; +} \ 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 8c0d340..dab23c5 100644 --- a/Trenser.Zenvy/Trenser.Zenvy/views/AdminMenu.h +++ b/Trenser.Zenvy/Trenser.Zenvy/views/AdminMenu.h @@ -1,5 +1,14 @@ #pragma once +#include +#include"ZenvyController.h" + class AdminMenu { +private: + std::shared_ptr m_zenvyController; +public: + AdminMenu() :m_zenvyController(std::make_shared()) {}; + void run(); + bool handleOperation(int); }; diff --git a/Trenser.Zenvy/Trenser.Zenvy/views/EmployeeMenu.cpp b/Trenser.Zenvy/Trenser.Zenvy/views/EmployeeMenu.cpp index 0b6c6bf..ab5f108 100644 --- a/Trenser.Zenvy/Trenser.Zenvy/views/EmployeeMenu.cpp +++ b/Trenser.Zenvy/Trenser.Zenvy/views/EmployeeMenu.cpp @@ -1 +1,79 @@ +#include #include "EmployeeMenu.h" +#include"InputHelper.h" +#include"OutputHelper.h" + +void EmployeeMenu::run() +{ + bool isMenuActive = true; + while (isMenuActive) + { + try + { + int choice; + util::clear(); + std::cout << "Zenvy - The HR Management System\n1. Apply Leave\n2. View Payslip\n3. View Payslip History\n4. Raise Ticke\n5. View Ticket\n6. View Ticket History\n7. View Employees\n8. Search Employee\n9. View Team Members\n10. Book Meeting Room\n11. View Booking History\n12. View Notification\n13. View Announcements\n14. Logout\nEnter your Choice: "; + util::read(choice); + if (!handleOperation(choice)) + { + isMenuActive = false; + } + } + catch (const std::exception& e) + { + std::cout << "Exception: " << e.what() << std::endl; + util::pressEnter(); + } + } +} + +bool EmployeeMenu::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.raiseTicket(); + break; + case 5 : + m_zenvyController.viewTicket(); + break; + case 6: + m_zenvyController.viewTicketHistory(); + break; + case 7: + m_zenvyController.viewEmployees(); + break; + case 8: + m_zenvyController.searchEmployee(); + break; + case 9: + m_zenvyController.viewTeamMembers(); + break; + case 10: + m_zenvyController.bookMeetingRoom(); + break; + case 11: + m_zenvyController.viewBookingHistory(); + break; + case 12: + m_zenvyController.viewNotifications(); + break; + case 13: + m_zenvyController.viewAnnouncements(); + break; + case 14: + return false; + default: + std::cout << "Enter a valid choice!" << std::endl; + } + return true; +} \ No newline at end of file diff --git a/Trenser.Zenvy/Trenser.Zenvy/views/EmployeeMenu.h b/Trenser.Zenvy/Trenser.Zenvy/views/EmployeeMenu.h index a789739..f082b66 100644 --- a/Trenser.Zenvy/Trenser.Zenvy/views/EmployeeMenu.h +++ b/Trenser.Zenvy/Trenser.Zenvy/views/EmployeeMenu.h @@ -1,5 +1,14 @@ #pragma once +#include +#include"ZenvyController.h" + class EmployeeMenu { +private: + std::shared_ptr m_zenvyController; +public: + EmployeeMenu() : m_zenvyController(std::make_shared()) {}; + void run(); + bool handleOperation(int); }; diff --git a/Trenser.Zenvy/Trenser.Zenvy/views/FinanceExecutiveMenu.cpp b/Trenser.Zenvy/Trenser.Zenvy/views/FinanceExecutiveMenu.cpp index 45f0ba9..c4b3578 100644 --- a/Trenser.Zenvy/Trenser.Zenvy/views/FinanceExecutiveMenu.cpp +++ b/Trenser.Zenvy/Trenser.Zenvy/views/FinanceExecutiveMenu.cpp @@ -1 +1,70 @@ +#include #include "FinanceExecutiveMenu.h" +#include"InputHelper.h" +#include"OutputHelper.h" + +void FinanceExecutiveMenu::run() +{ + bool isMenuActive = true; + while (isMenuActive) + { + try + { + int choice; + util::clear(); + std::cout << "Zenvy - The HR Management System\n1. Apply Leave\n2. View Payslip\n3. View Payslip History\n4. View Employees\n5. Search Employee\n6. View Notification\n7. View Announcements\n8. Resolve Ticket\n9. Generate Payslip\n10. Update Payroll\n11. Logout\nEnter your Choice: "; + util::read(choice); + if (!handleOperation(choice)) + { + isMenuActive = false; + } + } + catch (const std::exception& e) + { + std::cout << "Exception: " << e.what() << std::endl; + util::pressEnter(); + } + } +} + +bool FinanceExecutiveMenu::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.resolveTicket(); + break; + case 9: + m_zenvyController.generatePayslip(); + break; + case 10: + m_zenvyController.updatePayroll(); + break; + case 11: + return false; + default: + std::cout << "Enter a valid choice!" << std::endl; + } + return true; +} diff --git a/Trenser.Zenvy/Trenser.Zenvy/views/FinanceExecutiveMenu.h b/Trenser.Zenvy/Trenser.Zenvy/views/FinanceExecutiveMenu.h index 109ff36..825322f 100644 --- a/Trenser.Zenvy/Trenser.Zenvy/views/FinanceExecutiveMenu.h +++ b/Trenser.Zenvy/Trenser.Zenvy/views/FinanceExecutiveMenu.h @@ -1,5 +1,14 @@ #pragma once +#include +#include"ZenvyController.h" + class FinanceExecutiveMenu { +private: + std::shared_ptr m_zenvyController; +public: + FinanceExecutiveMenu() : m_zenvyController(std::make_shared()) {}; + void run(); + bool handleOperation(int); }; diff --git a/Trenser.Zenvy/Trenser.Zenvy/views/HRManagerMenu.cpp b/Trenser.Zenvy/Trenser.Zenvy/views/HRManagerMenu.cpp index efaec07..283812a 100644 --- a/Trenser.Zenvy/Trenser.Zenvy/views/HRManagerMenu.cpp +++ b/Trenser.Zenvy/Trenser.Zenvy/views/HRManagerMenu.cpp @@ -1 +1,73 @@ +#include #include "HRManagerMenu.h" +#include"InputHelper.h" +#include"OutputHelper.h" + +void HRManagerMenu::run() +{ + bool isMenuActive = true; + while (isMenuActive) + { + try + { + int choice; + util::clear(); + std::cout << "Zenvy - The HR Management System\n1. Apply Leave\n2. View Payslip\n3. View Payslip History\n4. View Employees\n5. Search Employee\n6. View Notification\n7. View Announcements\n8. Create Employee\n9. Regularize Attendance\n10. Update Leave Request\n11. Register CandidateAsEmployee\n12. Logout\nEnter your Choice: "; + util::read(choice); + if (!handleOperation(choice)) + { + isMenuActive = false; + } + } + catch (const std::exception& e) + { + std::cout << "Exception: " << e.what() << std::endl; + util::pressEnter(); + } + } +} + +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 12: + return false; + default: + std::cout << "Enter a valid choice!" << std::endl; + } + return true; +} diff --git a/Trenser.Zenvy/Trenser.Zenvy/views/HRManagerMenu.h b/Trenser.Zenvy/Trenser.Zenvy/views/HRManagerMenu.h index 5ea4230..05e1f41 100644 --- a/Trenser.Zenvy/Trenser.Zenvy/views/HRManagerMenu.h +++ b/Trenser.Zenvy/Trenser.Zenvy/views/HRManagerMenu.h @@ -1,5 +1,14 @@ #pragma once +#include +#include"ZenvyController.h" + class HRManagerMenu { +private: + std::shared_ptr m_zenvyController; +public: + HRManagerMenu() : m_zenvyController(std::make_shared()) {}; + void run(); + bool handleOperation(int); }; diff --git a/Trenser.Zenvy/Trenser.Zenvy/views/ITExecutiveMenu.cpp b/Trenser.Zenvy/Trenser.Zenvy/views/ITExecutiveMenu.cpp index 45ccf1f..de23bbe 100644 --- a/Trenser.Zenvy/Trenser.Zenvy/views/ITExecutiveMenu.cpp +++ b/Trenser.Zenvy/Trenser.Zenvy/views/ITExecutiveMenu.cpp @@ -1 +1,64 @@ +#include #include "ITExecutiveMenu.h" +#include"InputHelper.h" +#include"OutputHelper.h" + +void ITExecutiveMenu::run() +{ + bool isMenuActive = true; + while (isMenuActive) + { + try + { + int choice; + util::clear(); + std::cout << "Zenvy - The HR Management System\n1. Apply Leave\n2. View Payslip\n3. View Payslip History\n4. View Employees\n5. Search Employee\n6. View Notification\n7. View Announcements\n8. Resolve Ticket\n9. Logout\nEnter your Choice: "; + util::read(choice); + if (!handleOperation(choice)) + { + isMenuActive = false; + } + } + catch (const std::exception& e) + { + std::cout << "Exception: " << e.what() << std::endl; + util::pressEnter(); + } + } +} + +bool ITExecutiveMenu::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.resolveTicket(); + break; + case 9: + return false; + default: + std::cout << "Enter a valid choice!" << std::endl; + } + return true; +} diff --git a/Trenser.Zenvy/Trenser.Zenvy/views/ITExecutiveMenu.h b/Trenser.Zenvy/Trenser.Zenvy/views/ITExecutiveMenu.h index abc8201..1c5f060 100644 --- a/Trenser.Zenvy/Trenser.Zenvy/views/ITExecutiveMenu.h +++ b/Trenser.Zenvy/Trenser.Zenvy/views/ITExecutiveMenu.h @@ -1,5 +1,14 @@ #pragma once +#include +#include"ZenvyController.h" + class ITExecutiveMenu { +private: + std::shared_ptr m_zenvyController; +public: + ITExecutiveMenu() : m_zenvyController(std::make_shared()) {}; + void run(); + bool handleOperation(int); }; diff --git a/Trenser.Zenvy/Trenser.Zenvy/views/TalentExecutiveMenu.cpp b/Trenser.Zenvy/Trenser.Zenvy/views/TalentExecutiveMenu.cpp index a561bc9..9e6cc7d 100644 --- a/Trenser.Zenvy/Trenser.Zenvy/views/TalentExecutiveMenu.cpp +++ b/Trenser.Zenvy/Trenser.Zenvy/views/TalentExecutiveMenu.cpp @@ -1 +1,76 @@ +#include #include "TalentExecutiveMenu.h" +#include"InputHelper.h" +#include"OutputHelper.h" + +void TalentExecutiveMenu::run() +{ + bool isMenuActive = true; + while (isMenuActive) + { + try + { + int choice; + util::clear(); + std::cout << "Zenvy - The HR Management System\n1. Apply Leave\n2. View Payslip\n3. View Payslip History\n4. View Employees\n5. Search Employee\n6. View Notification\n7. View Announcements\n8. Create New Job\n9. View Job Opening\n10. Add Candidate\n11. UpdateCandidate Status\n12. View Shortlisted Candidate\n13. Logout\nEnter your Choice: "; + util::read(choice); + if (!handleOperation(choice)) + { + isMenuActive = false; + } + } + catch (const std::exception& e) + { + std::cout << "Exception: " << e.what() << std::endl; + util::pressEnter(); + } + } +} + +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 13: + return false; + default: + std::cout << "Enter a valid choice!" << std::endl; + } + return true; +} diff --git a/Trenser.Zenvy/Trenser.Zenvy/views/TalentExecutiveMenu.h b/Trenser.Zenvy/Trenser.Zenvy/views/TalentExecutiveMenu.h index 6461f74..a258eaf 100644 --- a/Trenser.Zenvy/Trenser.Zenvy/views/TalentExecutiveMenu.h +++ b/Trenser.Zenvy/Trenser.Zenvy/views/TalentExecutiveMenu.h @@ -1,5 +1,14 @@ #pragma once +#include +#include"ZenvyController.h" + class TalentExecutiveMenu { +private: + std::shared_ptr m_zenvyController; +public: + TalentExecutiveMenu() : m_zenvyController(std::make_shared < ZenvyController>()) {}; + void run(); + bool handleOperation(int); }; diff --git a/Trenser.Zenvy/Trenser.Zenvy/views/TeamExecutiveMenu.cpp b/Trenser.Zenvy/Trenser.Zenvy/views/TeamExecutiveMenu.cpp index 614ea00..0f0c197 100644 --- a/Trenser.Zenvy/Trenser.Zenvy/views/TeamExecutiveMenu.cpp +++ b/Trenser.Zenvy/Trenser.Zenvy/views/TeamExecutiveMenu.cpp @@ -1 +1,79 @@ +#include #include "TeamExecutiveMenu.h" +#include"InputHelper.h" +#include"OutputHelper.h" + +void TeamExecutiveMenu::run() +{ + bool isMenuActive = true; + while (isMenuActive) + { + try + { + int choice; + util::clear(); + std::cout << "Zenvy - The HR Management System\n1. Apply Leave\n2. View Payslip\n3. View Payslip History\n4. View Employees\n5. Search Employee\n6. View Notification\n7. View Announcements\n8. Create Team\n9. Update Team\n10. Remove Team\n11. Assign Employee\n12. Unassign Employee\n13. View Teams\n14. Logout\nEnter your Choice: "; + util::read(choice); + if (!handleOperation(choice)) + { + isMenuActive = false; + } + } + catch (const std::exception& e) + { + std::cout << "Exception: " << e.what() << std::endl; + util::pressEnter(); + } + } +} + +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 14: + return false; + default: + std::cout << "Enter a valid choice!" << std::endl; + } + return true; +} diff --git a/Trenser.Zenvy/Trenser.Zenvy/views/TeamExecutiveMenu.h b/Trenser.Zenvy/Trenser.Zenvy/views/TeamExecutiveMenu.h index cfd38be..4b5181d 100644 --- a/Trenser.Zenvy/Trenser.Zenvy/views/TeamExecutiveMenu.h +++ b/Trenser.Zenvy/Trenser.Zenvy/views/TeamExecutiveMenu.h @@ -1,5 +1,14 @@ #pragma once +#include +#include"ZenvyController.h" + class TeamExecutiveMenu { +private: + std::shared_ptr m_zenvyController; +public: + TeamExecutiveMenu() : m_zenvyController(std::make_shared()) {}; + void run(); + bool handleOperation(int); }; diff --git a/Trenser.Zenvy/Trenser.Zenvy/views/TeamLeadMenu.cpp b/Trenser.Zenvy/Trenser.Zenvy/views/TeamLeadMenu.cpp index 1cc3c0d..35e89cd 100644 --- a/Trenser.Zenvy/Trenser.Zenvy/views/TeamLeadMenu.cpp +++ b/Trenser.Zenvy/Trenser.Zenvy/views/TeamLeadMenu.cpp @@ -1 +1,85 @@ +#include #include "TeamLeadMenu.h" +#include"InputHelper.h" +#include"OutputHelper.h" + +void TeamLeadMenu::run() +{ + bool isMenuActive = true; + while (isMenuActive) + { + try + { + int choice; + util::clear(); + std::cout << "Zenvy - The HR Management System\n1. Apply Leave\n2. View Payslip\n3. View Payslip History\n4. Raise Ticke\n5. View Ticket\n6. View Ticket History\n7. View Employees\n8. Search Employee\n9. View Team Members\n10. Book Meeting Room\n11. View Booking History\n12. View Notification\n13. View Announcements\n4. Regularize Attendance\n15. Update Leave Request\n16. Logout\nEnter your Choice: "; + util::read(choice); + if (!handleOperation(choice)) + { + isMenuActive = false; + } + } + catch (const std::exception& e) + { + std::cout << "Exception: " << e.what() << std::endl; + util::pressEnter(); + } + } +} + +bool TeamLeadMenu::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.raiseTicket(); + break; + case 5: + m_zenvyController.viewTicket(); + break; + case 6: + m_zenvyController.viewTicketHistory(); + break; + case 7: + m_zenvyController.viewEmployees(); + break; + case 8: + m_zenvyController.searchEmployee(); + break; + case 9: + m_zenvyController.viewTeamMembers(); + break; + case 10: + m_zenvyController.bookMeetingRoom(); + break; + case 11: + m_zenvyController.viewBookingHistory(); + break; + case 12: + m_zenvyController.viewNotifications(); + break; + case 13: + m_zenvyController.viewAnnouncements(); + break; + case 14: + m_zenvyController.regularizeAttendance(); + break; + case 15: + m_zenvyController.updateLeaveRequest(); + break; + case 16: + return false; + default: + std::cout << "Enter a valid choice!" << std::endl; + } + return true; +} diff --git a/Trenser.Zenvy/Trenser.Zenvy/views/TeamLeadMenu.h b/Trenser.Zenvy/Trenser.Zenvy/views/TeamLeadMenu.h index 7ac3b19..e1bd45b 100644 --- a/Trenser.Zenvy/Trenser.Zenvy/views/TeamLeadMenu.h +++ b/Trenser.Zenvy/Trenser.Zenvy/views/TeamLeadMenu.h @@ -1,5 +1,14 @@ #pragma once +#include +#include"ZenvyController.h" + class TeamLeadMenu { +private: + std::shared_ptr m_zenvyController; +public: + TeamLeadMenu() : m_zenvyController(std::make_shared()) {}; + void run(); + bool handleOperation(int); }; diff --git a/Trenser.Zenvy/Trenser.Zenvy/views/UserInterface.h b/Trenser.Zenvy/Trenser.Zenvy/views/UserInterface.h index 9d69aba..c346301 100644 --- a/Trenser.Zenvy/Trenser.Zenvy/views/UserInterface.h +++ b/Trenser.Zenvy/Trenser.Zenvy/views/UserInterface.h @@ -1,4 +1,15 @@ #pragma once +#include +#include +#include "AdminMenu.h" +#include "EmployeeMenu.h" +#include "FinanceExecutiveMenu.h" +#include "HRManagerMenu.h" +#include "ITExecutiveMenu.h" +#include "TalentExecutiveMenu.h" +#include "TeamExecutiveMenu.h" +#include "TeamLeadMenu.h" +#include "ZenvyController.h" class UserInterface {