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
@@ -4,12 +4,14 @@ int ComboPackage::m_uid = 0;
ComboPackage::ComboPackage()
: m_id("CMP" + std::to_string(++m_uid)),
m_status(util::State::ACTIVE),
m_discountPercentage(0.0) {}
ComboPackage::ComboPackage(const std::string& packageName, double discountPercentage, const util::Map<std::string, Service*>& services)
: m_id("CMP" + std::to_string(++m_uid)),
m_packageName(packageName),
m_discountPercentage(discountPercentage),
m_status(util::State::ACTIVE),
m_services(services) {}
const std::string& ComboPackage::getId() const
@@ -27,6 +29,11 @@ double ComboPackage::getDiscountPercentage() const
return m_discountPercentage;
}
util::State ComboPackage::getState() const
{
return m_status;
}
const util::Map<std::string, Service*>& ComboPackage::getServices() const
{
return m_services;
@@ -50,4 +57,9 @@ void ComboPackage::setDiscountPercentage(double discountPercentage)
void ComboPackage::setServices(const util::Map<std::string, Service*>& services)
{
m_services = services;
}
}
void ComboPackage::setState(util::State status)
{
m_status = status;
}