Add state tracking for models and menu loop setup

<Changes>
    1. Added State enum with ACTIVE and INACTIVE values in Enums.h.
    2. Added state member, getter, and setter in User, Service, InventoryItem, and ComboPackage models.
    3. Updated constructors to initialize model objects with ACTIVE state by default.
    4. Added state string conversion helper functions in Enums.h.
    5. Added default return values in Controller getter methods to complete stub implementations.
    6. Added basic menu loop implementation in CustomerMenu and TechnicianMenu for handling user input.
</Changes>
This commit is contained in:
2026-05-19 16:21:56 +05:30
parent dd834ded44
commit d10cc91c40
12 changed files with 148 additions and 4 deletions
@@ -32,10 +32,12 @@ void Controller::updateUserDetails(const std::string& email, const std::string&
util::Map<std::string, const Service*> Controller::getServices()
{
return util::Map<std::string, const Service*>();
}
util::Map<std::string, const ComboPackage*> Controller::getComboPackages()
{
return util::Map<std::string, const ComboPackage*>();
}
void Controller::purchaseService(const util::Vector<std::string>& serviceIDs, const std::string& vehicleNumber, const std::string& vehicleBrand, const std::string& vehicleModel)
@@ -48,6 +50,7 @@ void Controller::purchaseComboPackage(const std::string& comboPackageID, const s
util::Map<std::string, const InventoryItem*> Controller::getInventoryItems()
{
return util::Map<std::string, const InventoryItem*>();
}
const InventoryItem* Controller::getInventoryItem(const std::string& inventoryItemID)
@@ -65,18 +68,22 @@ void Controller::removeInventoryItem(const std::string& inventoryItemID)
util::Map<std::string, const ServiceBooking*> Controller::getServiceBookings()
{
return util::Map<std::string, const ServiceBooking*>();
}
util::Map<std::string, const ServiceBooking*> Controller::getServiceBookingsByUser(const std::string userID)
{
return util::Map<std::string, const ServiceBooking*>();
}
util::Map<std::string, const User*> Controller::getUsers()
{
return util::Map<std::string, const User*>();
}
util::Map<std::string, const User*> Controller::getUsers(util::UserType userType)
{
return util::Map<std::string, const User*>();
}
void Controller::createJobCard(const std::string& bookingID, const std::string& technicianID, const std::string& serviceID)
@@ -123,6 +130,7 @@ void Controller::completePayment(const std::string& invoiceID, util::PaymentMode
util::Vector<const Notification*> Controller::getNotifications()
{
return util::Vector<const Notification*>();
}
void Controller::deleteNotification(const std::string& notificationID)