b983337630bd0635bd259410212d9969100dbe1d
Changes - Added Controller::removeServiceBooking() with documentation and delegation to ServiceManagementService. - Implemented ServiceManagementService::removeServiceBooking() to handle cancellation of pending bookings, enforce status validation, send notifications, and persist changes safely. - Updated CustomerMenu to include a "Cancel Service Booking" option, wired into handleOperation, and implemented CustomerMenu::cancelServiceBooking() for user interaction. - Ensured consistent declarations in Controller.h, ServiceManagementService.h, and CustomerMenu.h. - Refactored ServiceManagementService::updateJobStatus() to use tracked job card references instead of raw pointers, ensuring consistent state updates. - Added proper null checks and error handling for current job retrieval to prevent unexpected termination. - Updated logic to mark tracked job records as MODIFIED when status transitions occur (`STARTED` → `IN_PROGRESS`, `IN_PROGRESS` → `COMPLETED`). - Simplified control flow and indentation for better readability and maintainability. - Added retrieval of tracked service bookings and inventory items in ServiceManagementService::createJobCard(). - Validated service booking ID and inventory item indices before proceeding with job card creation. - Decremented inventory item quantities when job cards are created and marked corresponding tracked inventory records as `MODIFIED`. - Updated tracked service booking state to `MODIFIED` when technician is assigned and job status changes. - Persisted changes by saving job cards, service bookings, and inventory items to the datastore. Fixes #2105 #2076 #2075 #2074
Introduction
TODO: Give a short introduction of your project. Let this section explain the objectives or the motivation behind this project.
Getting Started
TODO: Guide users through getting your code up and running on their own system. In this section you can talk about:
- Installation process
- Software dependencies
- Latest releases
- API references
Build and Test
TODO: Describe and show how to build your code and run the tests.
Contribute
TODO: Explain how other users and developers can contribute to make your code better.
If you want to learn more about creating good readme files then refer the following guidelines. You can also seek inspiration from the below readme files:
Description
Releases
3
Languages
C++
99.3%
C
0.7%