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 144f6d4..6b5d67a 100644
--- a/Trenser.Zenvy/Trenser.Zenvy/controllers/ZenvyController.cpp
+++ b/Trenser.Zenvy/Trenser.Zenvy/controllers/ZenvyController.cpp
@@ -50,7 +50,3 @@ Employees ZenvyController::getEmployees()
{
return m_employeeManagementService->getEmployees();
}
-
-std::shared_ptr ZenvyController::getEmployee(const std::string&) {
-
-}
diff --git a/Trenser.Zenvy/Trenser.Zenvy/services/AuthenticationManagementService.cpp b/Trenser.Zenvy/Trenser.Zenvy/services/AuthenticationManagementService.cpp
index 952b832..613cc90 100644
--- a/Trenser.Zenvy/Trenser.Zenvy/services/AuthenticationManagementService.cpp
+++ b/Trenser.Zenvy/Trenser.Zenvy/services/AuthenticationManagementService.cpp
@@ -49,7 +49,7 @@ AuthenticationDTO AuthenticationManagementService::login(const std::string& emai
void AuthenticationManagementService::changePassword(const std::string& password)
{
- std::shared_ptr authenticatedUser = m_dataStore.getAuthenticatedUser();
+ std::shared_ptr authenticatedUser = m_dataStore.getAuthenticatedEmployee();
if (authenticatedUser)
{
authenticatedUser->setEmployeePassword(password);
diff --git a/Trenser.Zenvy/Trenser.Zenvy/services/EmployeeManagementService.cpp b/Trenser.Zenvy/Trenser.Zenvy/services/EmployeeManagementService.cpp
index 21fd3df..022bf6e 100644
--- a/Trenser.Zenvy/Trenser.Zenvy/services/EmployeeManagementService.cpp
+++ b/Trenser.Zenvy/Trenser.Zenvy/services/EmployeeManagementService.cpp
@@ -98,6 +98,14 @@ void EmployeeManagementService::createEmployee(Enums::EmployeeType employeeType,
bool EmployeeManagementService::deactivateEmployee(const std::string& id)
{
+ auto& employee = m_dataStore.getEmployees();
+ auto iterator = employee.find(id);
+ if (iterator == employee.end())
+ {
+ return false;
+ }
+ iterator->second->setEmployeeAccountStatus(Enums::AccountStatus::INACTIVE);
+ return true;
}
Employees EmployeeManagementService::getEmployees()
diff --git a/Trenser.Zenvy/Trenser.Zenvy/views/AdminMenu.cpp b/Trenser.Zenvy/Trenser.Zenvy/views/AdminMenu.cpp
index bf65e3f..44388bf 100644
--- a/Trenser.Zenvy/Trenser.Zenvy/views/AdminMenu.cpp
+++ b/Trenser.Zenvy/Trenser.Zenvy/views/AdminMenu.cpp
@@ -118,10 +118,10 @@ bool AdminMenu::handleOperation(int choice)
break;
/*case 2:
m_zenvyController.viewEmployee();
- break;
- case 3:
- m_zenvyController.deactivateEmployee();
break;*/
+ case 3:
+ deactivateEmployee(m_zenvyController);
+ break;
case 5:
updateProfile(m_zenvyController);
break;
diff --git a/Trenser.Zenvy/Trenser.Zenvy/views/EmployeeMenu.cpp b/Trenser.Zenvy/Trenser.Zenvy/views/EmployeeMenu.cpp
index a4eb3ac..5b82b20 100644
--- a/Trenser.Zenvy/Trenser.Zenvy/views/EmployeeMenu.cpp
+++ b/Trenser.Zenvy/Trenser.Zenvy/views/EmployeeMenu.cpp
@@ -32,7 +32,8 @@ bool EmployeeMenu::handleOperation(int choice)
{
switch (choice)
{
- /*case 1:
+ /*
+ case 1:
m_zenvyController.applyLeave();
break;
case 2:
@@ -49,11 +50,11 @@ bool EmployeeMenu::handleOperation(int choice)
break;
case 6:
m_zenvyController.viewTicketHistory();
- break;*/
- /*case 7:
+ break;
+ case 7:
viewEmployees();
- break;*/
- /*case 8:
+ break;
+ case 8:
m_zenvyController.searchEmployee();
break;
case 9:
diff --git a/Trenser.Zenvy/Trenser.Zenvy/views/HRManagerMenu.cpp b/Trenser.Zenvy/Trenser.Zenvy/views/HRManagerMenu.cpp
index 5b635b6..7fd76cc 100644
--- a/Trenser.Zenvy/Trenser.Zenvy/views/HRManagerMenu.cpp
+++ b/Trenser.Zenvy/Trenser.Zenvy/views/HRManagerMenu.cpp
@@ -1,3 +1,4 @@
+
#include
#include "HRManagerMenu.h"
#include "InputHelper.h"
@@ -91,7 +92,7 @@ void HRManagerMenu::run()
{
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. Update Profile\n13. Logout\nEnter your Choice: ";
+ 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. Update Profile\n13. Deactivate Employee\n14. Logout\nEnter your Choice: ";
util::read(choice);
if (!handleOperation(choice))
{
@@ -147,6 +148,8 @@ bool HRManagerMenu::handleOperation(int choice)
updateProfile(m_zenvyController);
break;
case 13:
+ deactivateEmployee(m_zenvyController);
+ case 14:
return false;
default:
std::cout << "Enter a valid choice!" << std::endl;
diff --git a/Trenser.Zenvy/Trenser.Zenvy/views/MenuHelper.h b/Trenser.Zenvy/Trenser.Zenvy/views/MenuHelper.h
index 2f557d1..502b9c2 100644
--- a/Trenser.Zenvy/Trenser.Zenvy/views/MenuHelper.h
+++ b/Trenser.Zenvy/Trenser.Zenvy/views/MenuHelper.h
@@ -1,6 +1,13 @@
#pragma once
-#include"ZenvyController.h"
-#include"InputHelper.h"
+#include