From a9c8ec93b7521e0339ecee5a9a5960bbdb243df0 Mon Sep 17 00:00:00 2001 From: Joel Thomas Date: Wed, 27 May 2026 11:10:59 +0530 Subject: [PATCH] Fix: detach removed users from service observers - detach users from InventoryManagementService observers during removal - detach users from PaymentManagementService observers during removal - detach users from ServiceManagementService observers during removal Fixes #1783 --- .../services/UserManagementService.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/Trenser.VehicleServiceSystem/Trenser.VehicleServiceSystem/services/UserManagementService.cpp b/Trenser.VehicleServiceSystem/Trenser.VehicleServiceSystem/services/UserManagementService.cpp index e086def..84fa7aa 100644 --- a/Trenser.VehicleServiceSystem/Trenser.VehicleServiceSystem/services/UserManagementService.cpp +++ b/Trenser.VehicleServiceSystem/Trenser.VehicleServiceSystem/services/UserManagementService.cpp @@ -297,6 +297,9 @@ Return type: void */ void UserManagementService::removeUser(const std::string& userID) { + InventoryManagementService inventoryManagementService; + PaymentManagementService paymentManagementService; + ServiceManagementService serviceManagementService; int index = m_dataStore.getUsers().find(userID); if (index != -1) { @@ -304,6 +307,9 @@ void UserManagementService::removeUser(const std::string& userID) if (user != nullptr) { user->setState(util::State::INACTIVE); + inventoryManagementService.detach(user); + paymentManagementService.detach(user); + serviceManagementService.detach(user); } } }