From febfa45e4a8d6bddceee86f3d7401f8220edaa48 Mon Sep 17 00:00:00 2001 From: Joel Thomas Date: Tue, 26 May 2026 21:03:22 +0530 Subject: [PATCH] Implement review fixes Changes: - Strengthened UserManagementService::updateUserDetails by checking duplicates only when email/phone are changed, preventing false errors - Updated AdminMenu::viewStockLevels header text from "View Stock Level" to "View Stock Levels" for consistency - Cleaned up CustomerMenu::updateDetails by removing unused user list retrieval and improving header/message formatting --- .../services/UserManagementService.cpp | 22 ++++++++++++------- .../views/AdminMenu.cpp | 2 +- .../views/CustomerMenu.cpp | 1 - 3 files changed, 15 insertions(+), 10 deletions(-) diff --git a/Trenser.VehicleServiceSystem/Trenser.VehicleServiceSystem/services/UserManagementService.cpp b/Trenser.VehicleServiceSystem/Trenser.VehicleServiceSystem/services/UserManagementService.cpp index 28263e8..39f9148 100644 --- a/Trenser.VehicleServiceSystem/Trenser.VehicleServiceSystem/services/UserManagementService.cpp +++ b/Trenser.VehicleServiceSystem/Trenser.VehicleServiceSystem/services/UserManagementService.cpp @@ -113,15 +113,21 @@ void UserManagementService::updateUserDetails(const std::string& userID, const s { throw std::runtime_error("User does not exist!\n"); } - if (util::isEmailDuplicate(email, usersMap)) - { - throw std::runtime_error("Email already exists!\n"); - } - if (util::isPhoneDuplicate(phone, usersMap)) - { - throw std::runtime_error("Phone number already exists!\n"); - } User* user = usersMap.getValueAt(index); + if (email != user->getEmail()) + { + if (util::isEmailDuplicate(email, usersMap)) + { + throw std::runtime_error("Email already exists!\n"); + } + } + if (phone != user->getPhone()) + { + if (util::isPhoneDuplicate(phone, usersMap)) + { + throw std::runtime_error("Phone number already exists!\n"); + } + } user->setEmail(email); user->setPhone(phone); } diff --git a/Trenser.VehicleServiceSystem/Trenser.VehicleServiceSystem/views/AdminMenu.cpp b/Trenser.VehicleServiceSystem/Trenser.VehicleServiceSystem/views/AdminMenu.cpp index 3b28e51..660decf 100644 --- a/Trenser.VehicleServiceSystem/Trenser.VehicleServiceSystem/views/AdminMenu.cpp +++ b/Trenser.VehicleServiceSystem/Trenser.VehicleServiceSystem/views/AdminMenu.cpp @@ -159,7 +159,7 @@ void AdminMenu::viewStockLevels() util::clear(); auto inventoryItems = m_controller.getInventoryItems(); bool hasActiveItems = false; - std::cout << "View Stock Level" << std::endl; + std::cout << "View Stock Levels" << std::endl; if (inventoryItems.isEmpty()) { std::cout << "No items found in Inventory.\n"; diff --git a/Trenser.VehicleServiceSystem/Trenser.VehicleServiceSystem/views/CustomerMenu.cpp b/Trenser.VehicleServiceSystem/Trenser.VehicleServiceSystem/views/CustomerMenu.cpp index efb8d1c..d354a3c 100644 --- a/Trenser.VehicleServiceSystem/Trenser.VehicleServiceSystem/views/CustomerMenu.cpp +++ b/Trenser.VehicleServiceSystem/Trenser.VehicleServiceSystem/views/CustomerMenu.cpp @@ -143,7 +143,6 @@ Return type: void void CustomerMenu::updateDetails() { std::string email, phone; - util::Map userList = m_controller.getUsers(); util::clear(); std::cout << "Update Details\n"; std::cout << "Enter new email: ";