Fix: improve customer service selection flow and booking status
- Set new service bookings to PENDING instead of STARTED - Show message when no services are available - Add Select a Service header - Add Enter Vehicle Details header - Improve service selection screen flow Fixes #1753
This commit is contained in:
+1
-1
@@ -61,7 +61,7 @@ void ServiceManagementService::purchaseService(const util::Vector<std::string>&
|
||||
Service* service = servicesMap.getValueAt(serviceIndex);
|
||||
selectedServices[service->getId()] = service;
|
||||
}
|
||||
ServiceBooking* serviceBooking = Factory::getObject<ServiceBooking>(util::ServiceJobStatus::STARTED, selectedServices, authenticatedUser->getId(), authenticatedUser, vehicleNumber, vehicleBrand, vehicleModel, 0);
|
||||
ServiceBooking* serviceBooking = Factory::getObject<ServiceBooking>(util::ServiceJobStatus::PENDING, selectedServices, authenticatedUser->getId(), authenticatedUser, vehicleNumber, vehicleBrand, vehicleModel, 0);
|
||||
if (serviceBooking == nullptr)
|
||||
{
|
||||
throw std::runtime_error("Failed to create service booking");
|
||||
|
||||
@@ -175,9 +175,16 @@ Return type: void
|
||||
void CustomerMenu::selectService()
|
||||
{
|
||||
std::string vehicleNumber, vehicleBrand, vehicleModel;
|
||||
auto services = m_controller.getServices();
|
||||
util::Vector<std::string> selectedServices;
|
||||
util::clear();
|
||||
std::cout << "Select a Service\n";
|
||||
auto services = m_controller.getServices();
|
||||
if (services.isEmpty())
|
||||
{
|
||||
std::cout << "No services available!";
|
||||
util::pressEnter();
|
||||
return;
|
||||
}
|
||||
util::Vector<std::string> selectedServices;
|
||||
const Service* selectedService = selectServiceFromServices(services);
|
||||
if (selectedService == nullptr)
|
||||
{
|
||||
@@ -187,6 +194,7 @@ void CustomerMenu::selectService()
|
||||
}
|
||||
selectedServices.push_back(selectedService->getId());
|
||||
util::clear();
|
||||
std::cout << "Enter Vehicle Details\n";
|
||||
std::cout << "Enter vehicle number: ";
|
||||
util::read(vehicleNumber);
|
||||
std::cout << "Enter vehicle brand: ";
|
||||
|
||||
Reference in New Issue
Block a user