Add documentation headers across system modules
This commit is contained in:
+97
@@ -12,11 +12,27 @@
|
||||
#include "NotificationManagementService.h"
|
||||
#include "User.h"
|
||||
|
||||
/*
|
||||
Function: getServiceBookings
|
||||
Description: Retrieves all service bookings from the datastore.
|
||||
Parameters:
|
||||
- None
|
||||
Returns:
|
||||
- util::Map<std::string, ServiceBooking*> containing all service bookings
|
||||
*/
|
||||
util::Map<std::string, ServiceBooking*> ServiceManagementService::getServiceBookings()
|
||||
{
|
||||
return m_dataStore.getServiceBookings();
|
||||
}
|
||||
|
||||
/*
|
||||
Function: getServiceBooking
|
||||
Description: Retrieves a specific service booking by its ID.
|
||||
Parameters:
|
||||
- serviceID: std::string, ID of the service booking
|
||||
Returns:
|
||||
- ServiceBooking*: Pointer to the service booking, or nullptr if not found
|
||||
*/
|
||||
ServiceBooking* ServiceManagementService::getServiceBooking(const std::string& serviceID)
|
||||
{
|
||||
auto currentServiceBookings = getServiceBookings();
|
||||
@@ -30,6 +46,19 @@ ServiceBooking* ServiceManagementService::getServiceBooking(const std::string& s
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
/*
|
||||
Function: createJobCard
|
||||
Description: Creates a job card for a given service booking, service, and technician.
|
||||
Validates booking, service, technician, and inventory availability before creation.
|
||||
Parameters:
|
||||
- bookingID: std::string, ID of the service booking
|
||||
- technicianID: std::string, ID of the technician
|
||||
- serviceID: std::string, ID of the service
|
||||
Returns:
|
||||
- void
|
||||
Throws:
|
||||
- std::runtime_error if booking, service, technician, or inventory validation fails
|
||||
*/
|
||||
void ServiceManagementService::createJobCard(const std::string& bookingID, const std::string& technicianID, const std::string& serviceID)
|
||||
{
|
||||
UserManagementService m_userManagementService;
|
||||
@@ -74,6 +103,19 @@ void ServiceManagementService::createJobCard(const std::string& bookingID, const
|
||||
sendNotification(selectedTechnician,title, message);
|
||||
}
|
||||
|
||||
/*
|
||||
Function: createService
|
||||
Description: Creates a new service with associated inventory items and labor cost.
|
||||
Validates inventory items before creation.
|
||||
Parameters:
|
||||
- name: std::string, name of the service
|
||||
- inventoryItemIDs: util::Vector<std::string>, IDs of required inventory items
|
||||
- laborCost: double, labor cost for the service
|
||||
Returns:
|
||||
- void
|
||||
Throws:
|
||||
- std::runtime_error if inventory items are not found or service creation fails
|
||||
*/
|
||||
void ServiceManagementService::createService(const std::string& name, const util::Vector<std::string>& inventoryItemIDs, double laborCost)
|
||||
{
|
||||
util::Map<std::string, InventoryItem*> currentServiceInventoryItems;
|
||||
@@ -110,11 +152,29 @@ void ServiceManagementService::createService(const std::string& name, const util
|
||||
currentServices.insert(newService->getId(), newService);
|
||||
}
|
||||
|
||||
/*
|
||||
Function: getServices
|
||||
Description: Retrieves all services from the datastore.
|
||||
Parameters:
|
||||
- None
|
||||
Returns:
|
||||
- util::Map<std::string, Service*> containing all services
|
||||
*/
|
||||
util::Map<std::string, Service*> ServiceManagementService::getServices()
|
||||
{
|
||||
return m_dataStore.getServices();
|
||||
}
|
||||
|
||||
/*
|
||||
Function: removeService
|
||||
Description: Marks a service as inactive by its ID.
|
||||
Parameters:
|
||||
- serviceID: std::string, ID of the service
|
||||
Returns:
|
||||
- void
|
||||
Throws:
|
||||
- std::runtime_error if the service is not found
|
||||
*/
|
||||
void ServiceManagementService::removeService(const std::string& serviceID)
|
||||
{
|
||||
util::Map<std::string, Service*> currentServices = getServices();
|
||||
@@ -128,6 +188,14 @@ void ServiceManagementService::removeService(const std::string& serviceID)
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
Function: getServiceBookings (overloaded)
|
||||
Description: Retrieves all service bookings for a specific customer.
|
||||
Parameters:
|
||||
- customerID: std::string, ID of the customer
|
||||
Returns:
|
||||
- util::Map<std::string, ServiceBooking*> containing bookings for the customer
|
||||
*/
|
||||
util::Map<std::string, ServiceBooking*> ServiceManagementService::getServiceBookings(const std::string& customerID)
|
||||
{
|
||||
util::Map<std::string, ServiceBooking*> currentServiceBookings = getServiceBookings();
|
||||
@@ -146,6 +214,14 @@ util::Map<std::string, ServiceBooking*> ServiceManagementService::getServiceBook
|
||||
return currentUserServiceBookings;
|
||||
}
|
||||
|
||||
/*
|
||||
Function: getJobCards
|
||||
Description: Retrieves all job cards assigned to a specific technician.
|
||||
Parameters:
|
||||
- technicianID: std::string, ID of the technician
|
||||
Returns:
|
||||
- util::Map<std::string, JobCard*> containing job cards assigned to the technician
|
||||
*/
|
||||
util::Map<std::string, JobCard*> ServiceManagementService::getJobCards(const std::string& technicianID)
|
||||
{
|
||||
util::Map<std::string, JobCard*> jobCards = m_dataStore.getJobCards();
|
||||
@@ -161,6 +237,15 @@ util::Map<std::string, JobCard*> ServiceManagementService::getJobCards(const std
|
||||
return technicianJobCards;
|
||||
}
|
||||
|
||||
/*
|
||||
Function: hasAllJobCardsinServiceBookingCompleted (static helper)
|
||||
Description: Checks if all job cards for a given service booking are completed.
|
||||
Parameters:
|
||||
- bookingId: std::string, ID of the service booking
|
||||
- currentAssignedJobs: util::Map<std::string, JobCard*>&, map of assigned job cards
|
||||
Returns:
|
||||
- bool: True if all job cards are completed, False otherwise
|
||||
*/
|
||||
static bool hasAllJobCardsinServiceBookingCompleted(std::string bookingId, util::Map<std::string, JobCard*>& currentAssignedJobs)
|
||||
{
|
||||
for (int iterator = 0; iterator < currentAssignedJobs.getSize(); iterator++)
|
||||
@@ -177,6 +262,18 @@ static bool hasAllJobCardsinServiceBookingCompleted(std::string bookingId, util:
|
||||
return true;
|
||||
}
|
||||
|
||||
/*
|
||||
Function: completeJob
|
||||
Description: Marks a job card as completed for the authenticated technician.
|
||||
If all job cards in the booking are completed, marks the booking as completed
|
||||
and generates an invoice.
|
||||
Parameters:
|
||||
- jobID: std::string, ID of the job card
|
||||
Returns:
|
||||
- void
|
||||
Throws:
|
||||
- std::runtime_error if technician is not authenticated, job card not found, or job already completed
|
||||
*/
|
||||
void ServiceManagementService::completeJob(const std::string& jobID)
|
||||
{
|
||||
AuthenticationManagementService authenticationManagementService;
|
||||
|
||||
Reference in New Issue
Block a user