diff --git a/Trenser.VehicleServiceSystem/Trenser.VehicleServiceSystem/controllers/Controller.cpp b/Trenser.VehicleServiceSystem/Trenser.VehicleServiceSystem/controllers/Controller.cpp index e3a85b0..9bc1d86 100644 --- a/Trenser.VehicleServiceSystem/Trenser.VehicleServiceSystem/controllers/Controller.cpp +++ b/Trenser.VehicleServiceSystem/Trenser.VehicleServiceSystem/controllers/Controller.cpp @@ -6,6 +6,7 @@ Description: Implementation file containing the method definitions of the Author: Trenser Date:19-May-2026 */ + #include "ComboPackage.h" #include "Controller.h" #include "Enums.h" diff --git a/Trenser.VehicleServiceSystem/Trenser.VehicleServiceSystem/datastores/sharedmemory/FileHeader.h b/Trenser.VehicleServiceSystem/Trenser.VehicleServiceSystem/datastores/sharedmemory/FileHeader.h index 5d0a875..929dbf4 100644 --- a/Trenser.VehicleServiceSystem/Trenser.VehicleServiceSystem/datastores/sharedmemory/FileHeader.h +++ b/Trenser.VehicleServiceSystem/Trenser.VehicleServiceSystem/datastores/sharedmemory/FileHeader.h @@ -1,3 +1,12 @@ +/* +File: FileHeader.h +Description: Defines the FileHeader structure used to store + metadata for binary record files, including + record count and capacity. +Author: Trenser +Created: 10-June-2026 +*/ + #pragma once #include diff --git a/Trenser.VehicleServiceSystem/Trenser.VehicleServiceSystem/datastores/sharedmemory/MappingInfo.h b/Trenser.VehicleServiceSystem/Trenser.VehicleServiceSystem/datastores/sharedmemory/MappingInfo.h index 7b0baed..ebd5123 100644 --- a/Trenser.VehicleServiceSystem/Trenser.VehicleServiceSystem/datastores/sharedmemory/MappingInfo.h +++ b/Trenser.VehicleServiceSystem/Trenser.VehicleServiceSystem/datastores/sharedmemory/MappingInfo.h @@ -1,3 +1,13 @@ +/* +File: MappingInfo.h +Description: Defines the MappingInfo structure used for + managing Windows file mapping operations. + Stores handles, mapped view pointer, + file metadata, and capacity information. +Author: Trenser +Created: 10-June-2026 +*/ + #pragma once #include #include diff --git a/Trenser.VehicleServiceSystem/Trenser.VehicleServiceSystem/datastores/sharedmemory/RecordState.h b/Trenser.VehicleServiceSystem/Trenser.VehicleServiceSystem/datastores/sharedmemory/RecordState.h index 8e3aadc..95402fd 100644 --- a/Trenser.VehicleServiceSystem/Trenser.VehicleServiceSystem/datastores/sharedmemory/RecordState.h +++ b/Trenser.VehicleServiceSystem/Trenser.VehicleServiceSystem/datastores/sharedmemory/RecordState.h @@ -1,3 +1,12 @@ +/* +File: RecordState.h +Description: Defines the RecordState enumeration used to + represent the state of a record in storage. + States include CLEAN, NEW_RECORD, and MODIFIED. +Author: Trenser +Created: 10-June-2026 +*/ + #pragma once enum class RecordState : int diff --git a/Trenser.VehicleServiceSystem/Trenser.VehicleServiceSystem/datastores/sharedmemory/SerializedRecords.h b/Trenser.VehicleServiceSystem/Trenser.VehicleServiceSystem/datastores/sharedmemory/SerializedRecords.h index 62dfacf..2d18842 100644 --- a/Trenser.VehicleServiceSystem/Trenser.VehicleServiceSystem/datastores/sharedmemory/SerializedRecords.h +++ b/Trenser.VehicleServiceSystem/Trenser.VehicleServiceSystem/datastores/sharedmemory/SerializedRecords.h @@ -1,3 +1,15 @@ +/* +File: SerializedRecords.h +Description: Defines serialized structures for persistent storage + and retrieval of system entities including User, + Notification, Service, ComboPackage, InventoryItem, + ServiceBooking, JobCard, Invoice, and Observer. + These structures use fixed-size character arrays + and primitive types for binary serialization. +Author: Trenser +Created: 10-June-2026 +*/ + #pragma once #include "Utility.h" #include "Enums.h" diff --git a/Trenser.VehicleServiceSystem/Trenser.VehicleServiceSystem/datastores/sharedmemory/SharedMemory.cpp b/Trenser.VehicleServiceSystem/Trenser.VehicleServiceSystem/datastores/sharedmemory/SharedMemory.cpp index aa0c494..6a10c9f 100644 --- a/Trenser.VehicleServiceSystem/Trenser.VehicleServiceSystem/datastores/sharedmemory/SharedMemory.cpp +++ b/Trenser.VehicleServiceSystem/Trenser.VehicleServiceSystem/datastores/sharedmemory/SharedMemory.cpp @@ -1,3 +1,14 @@ +/* +File: SharedMemory.cpp +Description: Implements shared memory utilities for managing + Windows file mapping operations. Provides functions + to create, open, resize, and close mappings, as well + as access headers, records, and ensure synchronization + across processes. +Author: Trenser +Created: 11-June-2026 +*/ + #include "SharedMemory.h" #include "Config.h" diff --git a/Trenser.VehicleServiceSystem/Trenser.VehicleServiceSystem/datastores/sharedmemory/SharedMemory.h b/Trenser.VehicleServiceSystem/Trenser.VehicleServiceSystem/datastores/sharedmemory/SharedMemory.h index f647d10..a288ab3 100644 --- a/Trenser.VehicleServiceSystem/Trenser.VehicleServiceSystem/datastores/sharedmemory/SharedMemory.h +++ b/Trenser.VehicleServiceSystem/Trenser.VehicleServiceSystem/datastores/sharedmemory/SharedMemory.h @@ -1,3 +1,14 @@ +/* +File: SharedMemory.h +Description: Declares functions for managing Windows file + mapping and shared memory operations. Provides + utilities for creating, resizing, and closing + mappings, as well as accessing headers and + record data. +Author: Trenser +Created: 10-June-2026 +*/ + #pragma once #include #include "MappingInfo.h" diff --git a/Trenser.VehicleServiceSystem/Trenser.VehicleServiceSystem/datastores/sharedmemory/TrackedRecord.h b/Trenser.VehicleServiceSystem/Trenser.VehicleServiceSystem/datastores/sharedmemory/TrackedRecord.h index 156b815..5ff9ac9 100644 --- a/Trenser.VehicleServiceSystem/Trenser.VehicleServiceSystem/datastores/sharedmemory/TrackedRecord.h +++ b/Trenser.VehicleServiceSystem/Trenser.VehicleServiceSystem/datastores/sharedmemory/TrackedRecord.h @@ -1,3 +1,13 @@ +/* +File: TrackedRecord.h +Description: Defines the TrackedRecord template structure used + to manage objects with associated record state and + slot index. Supports tracking of CLEAN, NEW_RECORD, + and MODIFIED states for persistence and synchronization. +Author: Trenser +Created: 10-June-2026 +*/ + #pragma once #include "RecordState.h" diff --git a/Trenser.VehicleServiceSystem/Trenser.VehicleServiceSystem/models/Invoice.cpp b/Trenser.VehicleServiceSystem/Trenser.VehicleServiceSystem/models/Invoice.cpp index d846f08..ddc3973 100644 --- a/Trenser.VehicleServiceSystem/Trenser.VehicleServiceSystem/models/Invoice.cpp +++ b/Trenser.VehicleServiceSystem/Trenser.VehicleServiceSystem/models/Invoice.cpp @@ -520,4 +520,4 @@ Invoice* Invoice::deserialize(const SerializedInvoice& serializedInvoice) serializedInvoice.paymentDate, serializedInvoice.paymentMethod, serializedInvoice.status); -} +} \ No newline at end of file diff --git a/Trenser.VehicleServiceSystem/Trenser.VehicleServiceSystem/models/Service.h b/Trenser.VehicleServiceSystem/Trenser.VehicleServiceSystem/models/Service.h index 320e4ad..bff13d6 100644 --- a/Trenser.VehicleServiceSystem/Trenser.VehicleServiceSystem/models/Service.h +++ b/Trenser.VehicleServiceSystem/Trenser.VehicleServiceSystem/models/Service.h @@ -6,7 +6,6 @@ Author: Trenser Date: 19-May-2026 */ - #pragma once #include #include "Map.h" diff --git a/Trenser.VehicleServiceSystem/Trenser.VehicleServiceSystem/models/ServiceBooking.cpp b/Trenser.VehicleServiceSystem/Trenser.VehicleServiceSystem/models/ServiceBooking.cpp index 708b360..ab5d6a6 100644 --- a/Trenser.VehicleServiceSystem/Trenser.VehicleServiceSystem/models/ServiceBooking.cpp +++ b/Trenser.VehicleServiceSystem/Trenser.VehicleServiceSystem/models/ServiceBooking.cpp @@ -6,6 +6,7 @@ Description: Implementation file containing the method definitions of the Author: Trenser Date:19-May-2026 */ + #include #include #include "SerializedRecords.h" diff --git a/Trenser.VehicleServiceSystem/Trenser.VehicleServiceSystem/models/ServiceBooking.h b/Trenser.VehicleServiceSystem/Trenser.VehicleServiceSystem/models/ServiceBooking.h index 1489f9b..433d9d1 100644 --- a/Trenser.VehicleServiceSystem/Trenser.VehicleServiceSystem/models/ServiceBooking.h +++ b/Trenser.VehicleServiceSystem/Trenser.VehicleServiceSystem/models/ServiceBooking.h @@ -6,6 +6,7 @@ Description: Header file declaring the ServiceBooking class, which represents Author: Trenser Date:19-May-2026 */ + #pragma once #include #include "Map.h" diff --git a/Trenser.VehicleServiceSystem/Trenser.VehicleServiceSystem/services/UserManagementService.h b/Trenser.VehicleServiceSystem/Trenser.VehicleServiceSystem/services/UserManagementService.h index 6b9f518..b448872 100644 --- a/Trenser.VehicleServiceSystem/Trenser.VehicleServiceSystem/services/UserManagementService.h +++ b/Trenser.VehicleServiceSystem/Trenser.VehicleServiceSystem/services/UserManagementService.h @@ -6,6 +6,7 @@ Description: Header file declaring the UserManagementService class, which manage Author: Trenser Date:19-May-2026 */ + #pragma once #include #include "Map.h" diff --git a/Trenser.VehicleServiceSystem/Trenser.VehicleServiceSystem/utilities/FileHelper.h b/Trenser.VehicleServiceSystem/Trenser.VehicleServiceSystem/utilities/FileHelper.h index 2b3e94a..c8bf96f 100644 --- a/Trenser.VehicleServiceSystem/Trenser.VehicleServiceSystem/utilities/FileHelper.h +++ b/Trenser.VehicleServiceSystem/Trenser.VehicleServiceSystem/utilities/FileHelper.h @@ -106,4 +106,4 @@ namespace util file << records[index] << '\n'; } } -} +} \ No newline at end of file diff --git a/Trenser.VehicleServiceSystem/Trenser.VehicleServiceSystem/utilities/InputHelper.h b/Trenser.VehicleServiceSystem/Trenser.VehicleServiceSystem/utilities/InputHelper.h index 75d8bbc..dffc199 100644 --- a/Trenser.VehicleServiceSystem/Trenser.VehicleServiceSystem/utilities/InputHelper.h +++ b/Trenser.VehicleServiceSystem/Trenser.VehicleServiceSystem/utilities/InputHelper.h @@ -10,6 +10,7 @@ #include #include #include +#include namespace util { @@ -54,6 +55,48 @@ namespace util value = cleanedValue; } + /* + * Function: readPassword + * Description: Reads a password from console without echoing characters; + * displays '*' for each character typed, handles backspace, + * and cleans commas from the result. + * Parameters: + * value - reference to a string where the password will be stored + * Returns: + * void - no return value + */ + inline void readPassword(std::string& value) + { + value.clear(); + char currentCharacter; + while ((currentCharacter = _getch()) != '\r') + { + if (currentCharacter == '\b') + { + if (!value.empty()) + { + value.pop_back(); + std::cout << "\b \b"; + } + } + else + { + value += currentCharacter; + std::cout << '*'; + } + } + std::cout << std::endl; + std::string cleanedValue; + for (int iterator = 0; iterator < value.length(); iterator++) + { + if (value[iterator] != ',') + { + cleanedValue += value[iterator]; + } + } + value = cleanedValue; + } + /* * Function: pressEnter * Description: Pauses execution until the user presses Enter. diff --git a/Trenser.VehicleServiceSystem/Trenser.VehicleServiceSystem/views/CustomerMenu.cpp b/Trenser.VehicleServiceSystem/Trenser.VehicleServiceSystem/views/CustomerMenu.cpp index 3e56d99..0d60f97 100644 --- a/Trenser.VehicleServiceSystem/Trenser.VehicleServiceSystem/views/CustomerMenu.cpp +++ b/Trenser.VehicleServiceSystem/Trenser.VehicleServiceSystem/views/CustomerMenu.cpp @@ -30,7 +30,6 @@ Description: Displays the customer menu and handles user input until logout is s Parameter: None Return type: void */ - void CustomerMenu::showMenu() { while (true) diff --git a/Trenser.VehicleServiceSystem/Trenser.VehicleServiceSystem/views/MenuHelper.h b/Trenser.VehicleServiceSystem/Trenser.VehicleServiceSystem/views/MenuHelper.h index 83720c0..c6ebaa6 100644 --- a/Trenser.VehicleServiceSystem/Trenser.VehicleServiceSystem/views/MenuHelper.h +++ b/Trenser.VehicleServiceSystem/Trenser.VehicleServiceSystem/views/MenuHelper.h @@ -914,7 +914,7 @@ inline void changePasswordHelper(Controller& controller) util::clear(); std::cout << "Change Password\n"; std::cout << "Enter new password: "; - util::read(newPassword); + util::readPassword(newPassword); if (!util::isPasswordValid(newPassword)) { std::cout << "Error: Password is not strong enough!\n"; @@ -928,7 +928,7 @@ inline void changePasswordHelper(Controller& controller) continue; } std::cout << "Confirm new password: "; - util::read(confirmedPassword); + util::readPassword(confirmedPassword); if (confirmedPassword != newPassword) { std::cout << "Passwords are different. Try again\n"; diff --git a/Trenser.VehicleServiceSystem/Trenser.VehicleServiceSystem/views/TechnicianMenu.h b/Trenser.VehicleServiceSystem/Trenser.VehicleServiceSystem/views/TechnicianMenu.h index a17ccb1..2d118a0 100644 --- a/Trenser.VehicleServiceSystem/Trenser.VehicleServiceSystem/views/TechnicianMenu.h +++ b/Trenser.VehicleServiceSystem/Trenser.VehicleServiceSystem/views/TechnicianMenu.h @@ -22,4 +22,4 @@ public: void viewNotifications(); void logout(); void changePassword(); -}; +}; \ No newline at end of file diff --git a/Trenser.VehicleServiceSystem/Trenser.VehicleServiceSystem/views/UserInterface.cpp b/Trenser.VehicleServiceSystem/Trenser.VehicleServiceSystem/views/UserInterface.cpp index 841e2ea..4596d9b 100644 --- a/Trenser.VehicleServiceSystem/Trenser.VehicleServiceSystem/views/UserInterface.cpp +++ b/Trenser.VehicleServiceSystem/Trenser.VehicleServiceSystem/views/UserInterface.cpp @@ -106,7 +106,7 @@ void UserInterface::login() std::cout << "Enter username: "; util::read(username); std::cout << "Enter password: "; - util::read(password); + util::readPassword(password); if (m_controller.login(username, password)) { const User* authenticatedUser = m_controller.getAuthenticatedUser(); @@ -167,7 +167,7 @@ void UserInterface::registerCustomer() return; } std::cout << "Enter password: "; - util::read(password); + util::readPassword(password); if (!util::isPasswordValid(password)) { std::cout << "Error: Password is invalid!"; @@ -185,4 +185,4 @@ void UserInterface::registerCustomer() m_controller.createCustomer(username, name, password, email, phone); std::cout << "Registration is successful"; util::pressEnter(); -} +} \ No newline at end of file