1c717bb9fa
Changes:
1. Added missing include for MenuHelper.h in project, AdminMenu, and CustomerMenu.
2. Updated PaymentManagementService::completePayment to guard against duplicate completion by checking status before updating.
3. Enhanced ServiceManagementService::createJobCard with null checks for inventory items and safe stock decrement logic.
4. Added null check for job card creation in ServiceManagementService and throw runtime error if creation fails.
5. Refactored ServiceManagementService::removeService to use m_dataStore.getServices() reference instead of getServices() copy.
6. Renamed helper function hasAllJobCardsinServiceBookingCompleted to hasCompletedAllJobs for clarity and updated usage in completeJob.
7. Fixed ServiceJobStatus string conversion in Enums.h to correctly return "PENDING" instead of "STARTED".
8. Added support for parsing "PENDING" string to ServiceJobStatus::PENDING in Enums.h.
9. Cleaned up AdminMenu.cpp by removing redundant static helper functions (listServiceBookings, selectPendingServiceBookings, listAvailableTechnicians, selectTechnician, selectInventoryItems, selectServicesToRemove).
10. Replaced removed helpers with shared MenuHelper usage and added util::pressEnter() calls for consistent user flow.
11. Simplified CustomerMenu.cpp by removing redundant static helpers (selectInvoiceFromUserForPayment, selectPaymentMode, displayInvoices) and moved logic to shared helpers.
12. General formatting and comment cleanup across AdminMenu.cpp and CustomerMenu.cpp for consistency.
243 lines
9.5 KiB
XML
243 lines
9.5 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
|
<ItemGroup>
|
|
<Filter Include="Source Files">
|
|
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
|
|
<Extensions>cpp;c;cc;cxx;c++;cppm;ixx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
|
|
</Filter>
|
|
<Filter Include="Header Files">
|
|
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
|
|
<Extensions>h;hh;hpp;hxx;h++;hm;inl;inc;ipp;xsd</Extensions>
|
|
</Filter>
|
|
<Filter Include="Resource Files">
|
|
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
|
|
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
|
|
</Filter>
|
|
<Filter Include="Header Files\Factories">
|
|
<UniqueIdentifier>{fc4022ec-cad1-4c5b-b5e3-87bdf86cdee3}</UniqueIdentifier>
|
|
</Filter>
|
|
<Filter Include="Header Files\Utilities">
|
|
<UniqueIdentifier>{8c0e50bf-dbb3-4956-954a-e9bc7108a8f5}</UniqueIdentifier>
|
|
</Filter>
|
|
<Filter Include="Source Files\Utilities">
|
|
<UniqueIdentifier>{6fc56811-874c-4c53-a31c-09c5da36f98a}</UniqueIdentifier>
|
|
</Filter>
|
|
<Filter Include="Header Files\Views">
|
|
<UniqueIdentifier>{dade4e36-41ab-463b-a4f2-346219bf4bc8}</UniqueIdentifier>
|
|
</Filter>
|
|
<Filter Include="Header Files\Services">
|
|
<UniqueIdentifier>{994018a4-a8e6-4dcd-9b5b-161fe467ea1a}</UniqueIdentifier>
|
|
</Filter>
|
|
<Filter Include="Header Files\Models">
|
|
<UniqueIdentifier>{bf335df2-eccb-452b-99a0-be92078a30c8}</UniqueIdentifier>
|
|
</Filter>
|
|
<Filter Include="Source Files\Models">
|
|
<UniqueIdentifier>{d668bff5-2da8-4200-aa0e-bd9db89c0ecf}</UniqueIdentifier>
|
|
</Filter>
|
|
<Filter Include="Header Files\Controllers">
|
|
<UniqueIdentifier>{ad539cf4-b697-49b9-a999-4729618139d1}</UniqueIdentifier>
|
|
</Filter>
|
|
<Filter Include="Source Files\Controllers">
|
|
<UniqueIdentifier>{94a14e13-7aaa-4f08-bcb2-618873e5198e}</UniqueIdentifier>
|
|
</Filter>
|
|
<Filter Include="Source Files\Views">
|
|
<UniqueIdentifier>{defecdb5-b5c7-488d-a9d4-553755129f9c}</UniqueIdentifier>
|
|
</Filter>
|
|
<Filter Include="Header Files\DataStores">
|
|
<UniqueIdentifier>{b5d0f583-e687-416b-8c80-cd0d0037bc94}</UniqueIdentifier>
|
|
</Filter>
|
|
<Filter Include="Source Files\DataStores">
|
|
<UniqueIdentifier>{a2807ab4-4d53-4e18-b4cd-13d0d552b057}</UniqueIdentifier>
|
|
</Filter>
|
|
<Filter Include="Source Files\Services">
|
|
<UniqueIdentifier>{05ab7ce1-f55a-4c76-96ed-f855a79921b9}</UniqueIdentifier>
|
|
</Filter>
|
|
<Filter Include="Header Files\Core">
|
|
<UniqueIdentifier>{423a60cb-8b4e-41f5-9c05-80cc9a91dfba}</UniqueIdentifier>
|
|
</Filter>
|
|
<Filter Include="Header Files\Core\Patterns">
|
|
<UniqueIdentifier>{49f35205-bfa9-4f04-a9b3-9b74d33640d6}</UniqueIdentifier>
|
|
</Filter>
|
|
<Filter Include="Source Files\Core">
|
|
<UniqueIdentifier>{1b53d284-7064-416f-9293-2bc17fa44b0c}</UniqueIdentifier>
|
|
</Filter>
|
|
<Filter Include="Source Files\Core\Patterns">
|
|
<UniqueIdentifier>{8057b93d-51a9-42df-b06e-01ce395f6308}</UniqueIdentifier>
|
|
</Filter>
|
|
</ItemGroup>
|
|
<ItemGroup>
|
|
<ClCompile Include="Trenser.VehicleServiceSystem.cpp">
|
|
<Filter>Source Files</Filter>
|
|
</ClCompile>
|
|
<ClCompile Include="utilities\Timestamp.cpp">
|
|
<Filter>Source Files\Utilities</Filter>
|
|
</ClCompile>
|
|
<ClCompile Include="utilities\Validator.cpp">
|
|
<Filter>Source Files\Utilities</Filter>
|
|
</ClCompile>
|
|
<ClCompile Include="controllers\Controller.cpp">
|
|
<Filter>Source Files\Controllers</Filter>
|
|
</ClCompile>
|
|
<ClCompile Include="views\AdminMenu.cpp">
|
|
<Filter>Source Files\Views</Filter>
|
|
</ClCompile>
|
|
<ClCompile Include="views\CustomerMenu.cpp">
|
|
<Filter>Source Files\Views</Filter>
|
|
</ClCompile>
|
|
<ClCompile Include="views\TechnicianMenu.cpp">
|
|
<Filter>Source Files\Views</Filter>
|
|
</ClCompile>
|
|
<ClCompile Include="views\UserInterface.cpp">
|
|
<Filter>Source Files\Views</Filter>
|
|
</ClCompile>
|
|
<ClCompile Include="services\AuthenticationManagementService.cpp">
|
|
<Filter>Source Files\Services</Filter>
|
|
</ClCompile>
|
|
<ClCompile Include="services\InventoryManagementService.cpp">
|
|
<Filter>Source Files\Services</Filter>
|
|
</ClCompile>
|
|
<ClCompile Include="services\PaymentManagementService.cpp">
|
|
<Filter>Source Files\Services</Filter>
|
|
</ClCompile>
|
|
<ClCompile Include="services\ServiceManagementService.cpp">
|
|
<Filter>Source Files\Services</Filter>
|
|
</ClCompile>
|
|
<ClCompile Include="services\UserManagementService.cpp">
|
|
<Filter>Source Files\Services</Filter>
|
|
</ClCompile>
|
|
<ClCompile Include="datastores\DataStore.cpp">
|
|
<Filter>Source Files\DataStores</Filter>
|
|
</ClCompile>
|
|
<ClCompile Include="services\NotificationManagementService.cpp">
|
|
<Filter>Source Files\Services</Filter>
|
|
</ClCompile>
|
|
<ClCompile Include="core\patterns\Observer.cpp">
|
|
<Filter>Source Files\Core\Patterns</Filter>
|
|
</ClCompile>
|
|
<ClCompile Include="core\patterns\Subject.cpp">
|
|
<Filter>Source Files\Core\Patterns</Filter>
|
|
</ClCompile>
|
|
<ClCompile Include="models\User.cpp">
|
|
<Filter>Source Files\Models</Filter>
|
|
</ClCompile>
|
|
<ClCompile Include="models\Notification.cpp">
|
|
<Filter>Source Files\Models</Filter>
|
|
</ClCompile>
|
|
<ClCompile Include="models\Invoice.cpp">
|
|
<Filter>Source Files\Models</Filter>
|
|
</ClCompile>
|
|
<ClCompile Include="models\InventoryItem.cpp">
|
|
<Filter>Source Files\Models</Filter>
|
|
</ClCompile>
|
|
<ClCompile Include="models\ServiceBooking.cpp">
|
|
<Filter>Source Files\Models</Filter>
|
|
</ClCompile>
|
|
<ClCompile Include="models\Service.cpp">
|
|
<Filter>Source Files\Models</Filter>
|
|
</ClCompile>
|
|
<ClCompile Include="models\JobCard.cpp">
|
|
<Filter>Source Files\Models</Filter>
|
|
</ClCompile>
|
|
<ClCompile Include="models\ComboPackage.cpp">
|
|
<Filter>Source Files\Models</Filter>
|
|
</ClCompile>
|
|
</ItemGroup>
|
|
<ItemGroup>
|
|
<ClInclude Include="utilities\InputHelper.h">
|
|
<Filter>Header Files\Utilities</Filter>
|
|
</ClInclude>
|
|
<ClInclude Include="utilities\Map.h">
|
|
<Filter>Header Files\Utilities</Filter>
|
|
</ClInclude>
|
|
<ClInclude Include="utilities\OutputHelper.h">
|
|
<Filter>Header Files\Utilities</Filter>
|
|
</ClInclude>
|
|
<ClInclude Include="utilities\Timestamp.h">
|
|
<Filter>Header Files\Utilities</Filter>
|
|
</ClInclude>
|
|
<ClInclude Include="utilities\Validator.h">
|
|
<Filter>Header Files\Utilities</Filter>
|
|
</ClInclude>
|
|
<ClInclude Include="utilities\Vector.h">
|
|
<Filter>Header Files\Utilities</Filter>
|
|
</ClInclude>
|
|
<ClInclude Include="factories\Factory.h">
|
|
<Filter>Header Files\Factories</Filter>
|
|
</ClInclude>
|
|
<ClInclude Include="controllers\Controller.h">
|
|
<Filter>Header Files\Controllers</Filter>
|
|
</ClInclude>
|
|
<ClInclude Include="views\AdminMenu.h">
|
|
<Filter>Header Files\Views</Filter>
|
|
</ClInclude>
|
|
<ClInclude Include="views\CustomerMenu.h">
|
|
<Filter>Header Files\Views</Filter>
|
|
</ClInclude>
|
|
<ClInclude Include="views\TechnicianMenu.h">
|
|
<Filter>Header Files\Views</Filter>
|
|
</ClInclude>
|
|
<ClInclude Include="views\UserInterface.h">
|
|
<Filter>Header Files\Views</Filter>
|
|
</ClInclude>
|
|
<ClInclude Include="services\AuthenticationManagementService.h">
|
|
<Filter>Header Files\Services</Filter>
|
|
</ClInclude>
|
|
<ClInclude Include="services\InventoryManagementService.h">
|
|
<Filter>Header Files\Services</Filter>
|
|
</ClInclude>
|
|
<ClInclude Include="services\PaymentManagementService.h">
|
|
<Filter>Header Files\Services</Filter>
|
|
</ClInclude>
|
|
<ClInclude Include="services\ServiceManagementService.h">
|
|
<Filter>Header Files\Services</Filter>
|
|
</ClInclude>
|
|
<ClInclude Include="services\UserManagementService.h">
|
|
<Filter>Header Files\Services</Filter>
|
|
</ClInclude>
|
|
<ClInclude Include="datastores\DataStore.h">
|
|
<Filter>Header Files\DataStores</Filter>
|
|
</ClInclude>
|
|
<ClInclude Include="services\NotificationManagementService.h">
|
|
<Filter>Header Files\Services</Filter>
|
|
</ClInclude>
|
|
<ClInclude Include="core\patterns\Observer.h">
|
|
<Filter>Header Files\Core\Patterns</Filter>
|
|
</ClInclude>
|
|
<ClInclude Include="core\patterns\Subject.h">
|
|
<Filter>Header Files\Core\Patterns</Filter>
|
|
</ClInclude>
|
|
<ClInclude Include="models\User.h">
|
|
<Filter>Header Files\Models</Filter>
|
|
</ClInclude>
|
|
<ClInclude Include="models\Notification.h">
|
|
<Filter>Header Files\Models</Filter>
|
|
</ClInclude>
|
|
<ClInclude Include="utilities\Enums.h">
|
|
<Filter>Header Files\Utilities</Filter>
|
|
</ClInclude>
|
|
<ClInclude Include="models\Invoice.h">
|
|
<Filter>Header Files\Models</Filter>
|
|
</ClInclude>
|
|
<ClInclude Include="models\ServiceBooking.h">
|
|
<Filter>Header Files\Models</Filter>
|
|
</ClInclude>
|
|
<ClInclude Include="models\InventoryItem.h">
|
|
<Filter>Header Files\Models</Filter>
|
|
</ClInclude>
|
|
<ClInclude Include="models\Service.h">
|
|
<Filter>Header Files\Models</Filter>
|
|
</ClInclude>
|
|
<ClInclude Include="models\JobCard.h">
|
|
<Filter>Header Files\Models</Filter>
|
|
</ClInclude>
|
|
<ClInclude Include="models\ComboPackage.h">
|
|
<Filter>Header Files\Models</Filter>
|
|
</ClInclude>
|
|
<ClInclude Include="utilities\Utility.h">
|
|
<Filter>Header Files\Utilities</Filter>
|
|
</ClInclude>
|
|
<ClInclude Include="views\MenuHelper.h">
|
|
<Filter>Header Files\Views</Filter>
|
|
</ClInclude>
|
|
</ItemGroup>
|
|
</Project> |