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);
|
Service* service = servicesMap.getValueAt(serviceIndex);
|
||||||
selectedServices[service->getId()] = service;
|
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)
|
if (serviceBooking == nullptr)
|
||||||
{
|
{
|
||||||
throw std::runtime_error("Failed to create service booking");
|
throw std::runtime_error("Failed to create service booking");
|
||||||
|
|||||||
@@ -175,9 +175,16 @@ Return type: void
|
|||||||
void CustomerMenu::selectService()
|
void CustomerMenu::selectService()
|
||||||
{
|
{
|
||||||
std::string vehicleNumber, vehicleBrand, vehicleModel;
|
std::string vehicleNumber, vehicleBrand, vehicleModel;
|
||||||
auto services = m_controller.getServices();
|
|
||||||
util::Vector<std::string> selectedServices;
|
|
||||||
util::clear();
|
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);
|
const Service* selectedService = selectServiceFromServices(services);
|
||||||
if (selectedService == nullptr)
|
if (selectedService == nullptr)
|
||||||
{
|
{
|
||||||
@@ -187,6 +194,7 @@ void CustomerMenu::selectService()
|
|||||||
}
|
}
|
||||||
selectedServices.push_back(selectedService->getId());
|
selectedServices.push_back(selectedService->getId());
|
||||||
util::clear();
|
util::clear();
|
||||||
|
std::cout << "Enter Vehicle Details\n";
|
||||||
std::cout << "Enter vehicle number: ";
|
std::cout << "Enter vehicle number: ";
|
||||||
util::read(vehicleNumber);
|
util::read(vehicleNumber);
|
||||||
std::cout << "Enter vehicle brand: ";
|
std::cout << "Enter vehicle brand: ";
|
||||||
|
|||||||
Reference in New Issue
Block a user