Changed Shared Pointers to raw pointers in the service classes
This commit is contained in:
@@ -4,5 +4,4 @@
|
||||
* Author: Trenser
|
||||
* Created: 06-Apr-2026
|
||||
*/
|
||||
|
||||
#include "ApplicationConfig.h"
|
||||
|
||||
@@ -4,7 +4,6 @@
|
||||
* Author: Trenser
|
||||
* Created: 06-Apr-2026
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
namespace Config
|
||||
|
||||
@@ -4,5 +4,4 @@
|
||||
* Author: Trenser
|
||||
* Created: 30-Apr-2026
|
||||
*/
|
||||
|
||||
#include "AttendanceManagementService.h"
|
||||
|
||||
@@ -4,7 +4,6 @@
|
||||
* Author: Trenser
|
||||
* Created: 30-Apr-2026
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
class AttendanceManagementService
|
||||
{
|
||||
|
||||
@@ -4,7 +4,6 @@
|
||||
* Author: Trenser
|
||||
* Created: 30-Mar-2026
|
||||
*/
|
||||
|
||||
#include <stdexcept>
|
||||
#include "AuthenticationManagementService.h"
|
||||
#include "ApplicationConfig.h"
|
||||
@@ -81,7 +80,7 @@ AuthenticationDTO AuthenticationManagementService::login(const std::string& emai
|
||||
*/
|
||||
void AuthenticationManagementService::changePassword(const std::string& password)
|
||||
{
|
||||
Employee* authenticatedUser = m_dataStore.getAuthenticatedUser();
|
||||
Employee* authenticatedUser = m_dataStore.getAuthenticatedEmployee();
|
||||
if (authenticatedUser)
|
||||
{
|
||||
authenticatedUser->setEmployeePassword(password);
|
||||
|
||||
@@ -4,7 +4,6 @@
|
||||
* Author: Trenser
|
||||
* Created: 30-Mar-2026
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
#include <string>
|
||||
#include <map>
|
||||
|
||||
@@ -4,5 +4,4 @@
|
||||
* Author: Trenser
|
||||
* Created: 30-Mar-2026
|
||||
*/
|
||||
|
||||
#include "BookingManagementService.h"
|
||||
|
||||
@@ -4,7 +4,6 @@
|
||||
* Author: Trenser
|
||||
* Created: 30-Mar-2026
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
class BookingManagementService
|
||||
{
|
||||
|
||||
@@ -18,14 +18,14 @@
|
||||
void EmployeeManagementService::createEmployee(Enums::EmployeeType employeeType, Enums::EmployeeDesignation employeeDesignation, const std::string& email, const std::string& name, const std::string& phone)
|
||||
{
|
||||
auto& employees = m_dataStore.getEmployees();
|
||||
std::shared_ptr<Employee> authenticatedEmployee = m_dataStore.getAuthenticatedEmployee();
|
||||
Employee* authenticatedEmployee = m_dataStore.getAuthenticatedEmployee();
|
||||
if (!authenticatedEmployee)
|
||||
{
|
||||
throw std::runtime_error("No authenticated user");
|
||||
}
|
||||
Enums::EmployeeType authenticatedEmployeeType = authenticatedEmployee->getEmployeeType();
|
||||
std::shared_ptr<Employee> employee;
|
||||
std::shared_ptr<Payroll> payroll;
|
||||
Employee* employee;
|
||||
Payroll* payroll;
|
||||
if (employeeType != Enums::EmployeeType::GENERAL && util::hasActiveEmployeeOfType(employeeType, employees))
|
||||
{
|
||||
throw std::runtime_error("Cannot create more than one employee of type " + Enums::getEmployeeTypeString(employeeType));
|
||||
@@ -135,13 +135,13 @@ bool EmployeeManagementService::updateDesignation(const std::string& id, Enums::
|
||||
{
|
||||
auto& authenticatedEmployee = m_dataStore.getAuthenticatedEmployee();
|
||||
util::enforceAuthorization(authenticatedEmployee->getEmployeeType(), Enums::EmployeeType::ADMIN, Enums::EmployeeType::HR);
|
||||
std::map<std::string, std::shared_ptr<Employee>> employees = m_dataStore.getEmployees();
|
||||
std::map<std::string, Employee*> employees = m_dataStore.getEmployees();
|
||||
auto employeeIterator = employees.find(id);
|
||||
if (employeeIterator == employees.end())
|
||||
{
|
||||
return false;
|
||||
}
|
||||
auto generalEmployee = std::dynamic_pointer_cast<GeneralEmployee>((*employeeIterator).second);
|
||||
auto generalEmployee = dynamic_cast<GeneralEmployee*>((*employeeIterator).second);
|
||||
if (generalEmployee)
|
||||
{
|
||||
generalEmployee->setDesignation(designation);
|
||||
@@ -149,24 +149,24 @@ bool EmployeeManagementService::updateDesignation(const std::string& id, Enums::
|
||||
return true;
|
||||
}
|
||||
|
||||
std::shared_ptr<const Employee> EmployeeManagementService::getCurrentEmployee()
|
||||
const Employee* EmployeeManagementService::getCurrentEmployee()
|
||||
{
|
||||
return m_dataStore.getAuthenticatedEmployee();
|
||||
}
|
||||
|
||||
void EmployeeManagementService::updateProfile(const std::string& name,const std::string& phone)
|
||||
{
|
||||
std::shared_ptr<Employee> employee = m_dataStore.getAuthenticatedEmployee();
|
||||
Employee* employee = m_dataStore.getAuthenticatedEmployee();
|
||||
employee->setEmployeeName(name);
|
||||
employee->setEmployeePhone(phone);
|
||||
}
|
||||
|
||||
std::pair<Enums::EmployeeType, std::vector<std::shared_ptr<const Employee>>> EmployeeManagementService::searchEmployee(const std::string& name)
|
||||
std::pair<Enums::EmployeeType, std::vector<const Employee*>> EmployeeManagementService::searchEmployee(const std::string& name)
|
||||
{
|
||||
std::shared_ptr<Employee> currentUser = m_dataStore.getAuthenticatedEmployee();
|
||||
Employee* currentUser = m_dataStore.getAuthenticatedEmployee();
|
||||
Enums::EmployeeType employeeType = currentUser->getEmployeeType();
|
||||
employeeMap& employees = m_dataStore.getEmployees();
|
||||
std::vector<std::shared_ptr<const Employee>> employeeList;
|
||||
std::vector<const Employee*> employeeList;
|
||||
if (employees.empty())
|
||||
{
|
||||
return std::make_pair(employeeType, employeeList);
|
||||
@@ -220,12 +220,12 @@ void EmployeeManagementService::saveEmployees()
|
||||
FileManager<GeneralEmployee> generalEmployeeFileManager(Config::File::GENERAL_EMPLOYEES_FILE);
|
||||
const auto& allEmployees = m_dataStore.getEmployees();
|
||||
employeeMap employees;
|
||||
std::map<std::string, std::shared_ptr<GeneralEmployee>> generalEmployees;
|
||||
std::map<std::string, GeneralEmployee*> generalEmployees;
|
||||
for (auto& employeePair : allEmployees)
|
||||
{
|
||||
if (employeePair.second->getEmployeeType() == Enums::EmployeeType::GENERAL)
|
||||
{
|
||||
generalEmployees.emplace(employeePair.first, std::static_pointer_cast<GeneralEmployee>(employeePair.second));
|
||||
generalEmployees.emplace(employeePair.first, static_cast<GeneralEmployee*>(employeePair.second));
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -236,10 +236,10 @@ void EmployeeManagementService::saveEmployees()
|
||||
generalEmployeeFileManager.save(generalEmployees);
|
||||
}
|
||||
|
||||
std::vector<std::shared_ptr<Candidate>> EmployeeManagementService::getShorlistedCandidates()
|
||||
std::vector<Candidate*> EmployeeManagementService::getShorlistedCandidates()
|
||||
{
|
||||
candidateMap candidates = m_dataStore.getCandidates();
|
||||
std::vector<std::shared_ptr<Candidate>> shortlistedCandidates;
|
||||
std::vector<Candidate*> shortlistedCandidates;
|
||||
for (auto& candidate : candidates)
|
||||
{
|
||||
if (candidate.second->getCandidateStatus() == Enums::CandidateStatus::SHORTLISTED)
|
||||
|
||||
@@ -4,5 +4,4 @@
|
||||
* Author: Trenser
|
||||
* Created: 30-Mar-2026
|
||||
*/
|
||||
|
||||
#include "LeaveManagementService.h"
|
||||
|
||||
@@ -4,7 +4,6 @@
|
||||
* Author: Trenser
|
||||
* Created: 30-Mar-2026
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
class LeaveManagementService
|
||||
{
|
||||
|
||||
@@ -4,7 +4,6 @@
|
||||
* Author: Trenser
|
||||
* Created: 01-Apr-2026
|
||||
*/
|
||||
|
||||
#include "LogService.h"
|
||||
#include "Log.h"
|
||||
#include "Factory.h"
|
||||
|
||||
@@ -4,7 +4,6 @@
|
||||
* Author: Trenser
|
||||
* Created: 01-Apr-2026
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
#include "Log.h"
|
||||
|
||||
|
||||
@@ -4,5 +4,4 @@
|
||||
* Author: Trenser
|
||||
* Created: 30-Mar-2026
|
||||
*/
|
||||
|
||||
#include "NotificationManagementService.h"
|
||||
|
||||
@@ -4,7 +4,6 @@
|
||||
* Author: Trenser
|
||||
* Created: 30-Mar-2026
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
class NotificationManagementService
|
||||
{
|
||||
|
||||
@@ -4,7 +4,6 @@
|
||||
* Author: Trenser
|
||||
* Created: 30-Mar-2026
|
||||
*/
|
||||
|
||||
#include <stdexcept>
|
||||
#include <algorithm>
|
||||
#include "PayslipManagementService.h"
|
||||
|
||||
@@ -4,7 +4,6 @@
|
||||
* Author: Trenser
|
||||
* Created: 30-Mar-2026
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
#include <string>
|
||||
#include<stdexcept>
|
||||
|
||||
@@ -4,5 +4,4 @@
|
||||
* Author: Trenser
|
||||
* Created: 30-Mar-2026
|
||||
*/
|
||||
|
||||
#include "TalentAcquisitionManagementService.h"
|
||||
|
||||
@@ -4,7 +4,6 @@
|
||||
* Author: Trenser
|
||||
* Created: 30-Mar-2026
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
class TalentAcquisitionManagementService
|
||||
{
|
||||
|
||||
@@ -4,5 +4,4 @@
|
||||
* Author: Trenser
|
||||
* Created: 30-Mar-2026
|
||||
*/
|
||||
|
||||
#include "TeamManagementService.h"
|
||||
|
||||
@@ -4,7 +4,6 @@
|
||||
* Author: Trenser
|
||||
* Created: 30-Mar-2026
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
class TeamManagementService
|
||||
{
|
||||
|
||||
@@ -4,5 +4,4 @@
|
||||
* Author: Trenser
|
||||
* Created: 30-Mar-2026
|
||||
*/
|
||||
|
||||
#include "TicketManagementService.h"
|
||||
|
||||
@@ -4,7 +4,6 @@
|
||||
* Author: Trenser
|
||||
* Created: 30-Mar-2026
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
class TicketManagementService
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user