diff --git a/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/Item.cpp b/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/Item.cpp index 3acc325..4ac258c 100644 --- a/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/Item.cpp +++ b/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/Item.cpp @@ -1 +1,16 @@ +/* +Author: Joel Mathew Thomas +Date: 18-02-2026 +*/ + #include "Item.h" + +int Item::getQuantity() const +{ + return m_quantity; +} + +MenuItem& Item::getMenuItem() +{ + return m_item; +} diff --git a/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/MenuItem.cpp b/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/MenuItem.cpp index ea75eba..38f25f8 100644 --- a/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/MenuItem.cpp +++ b/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/MenuItem.cpp @@ -1 +1,32 @@ +/* +Author: Joel Mathew Thomas +Date: 18-02-2026 +*/ + +#include #include "MenuItem.h" + +int MenuItem::getId() const +{ + return m_id; + +} + +std::string MenuItem::getName() const +{ + return m_name; +} + +double MenuItem::getPrice() const +{ + return m_price; +} + +void MenuItem::setPrice(double price) +{ + if (price <= 0) + { + throw std::runtime_error("Invalid Price for MenuItem"); + } + m_price = price; +} diff --git a/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/MenuItem.h b/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/MenuItem.h index 143e753..78eb83f 100644 --- a/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/MenuItem.h +++ b/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/MenuItem.h @@ -29,7 +29,6 @@ public: int getId() const; std::string getName() const; std::string getDescription() const; - void setDescription(const std::string&); double getPrice() const; void setPrice(double); }; diff --git a/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/Order.cpp b/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/Order.cpp index 3091220..b5fe2e4 100644 --- a/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/Order.cpp +++ b/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/Order.cpp @@ -1 +1,26 @@ #include "Order.h" + +int Order::getId() const +{ + return m_id; +} + +void Order::addItem(const Item& item) +{ + m_items.push_back(std::make_shared(item)); +} + +items& Order::getItems() +{ + return m_items; +} + +double Order::getTotal() const +{ + double total = 0; + for (auto& itemPointer : m_items) + { + total += itemPointer->getMenuItem().getPrice(); + } + return total; +} diff --git a/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/Order.h b/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/Order.h index 5718b61..c28431b 100644 --- a/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/Order.h +++ b/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/Order.h @@ -5,9 +5,10 @@ Date: 18-12-2026 #pragma once #include +#include #include "Item.h" -using items = std::vector; +using items = std::vector>; enum class OrderStatus { @@ -36,10 +37,8 @@ public: m_totalAmount(0), m_status(OrderStatus::CREATED) {} - ~Order(); int getId() const; - void addItem(); - void removeItem(); + void addItem(const Item&); items& getItems(); double getTotal() const; }; diff --git a/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/Restaurant.cpp b/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/Restaurant.cpp index 1f1714a..a2b2d81 100644 --- a/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/Restaurant.cpp +++ b/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/Restaurant.cpp @@ -1 +1,31 @@ +/* +Author: Joel Mathew Thomas +Date: 18-02-2026 +*/ + #include "Restaurant.h" + +int Restaurant::getId() const +{ + return m_id; +} + +menuItems& Restaurant::getMenuItems() +{ + return m_menuItems; +} + +orders& Restaurant::getOrders() +{ + return m_orders; +} + +bool Restaurant::getStatus() const +{ + return m_isOpen; +} + +void Restaurant::setStatus(bool status) +{ + m_isOpen = status; +} diff --git a/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/Restaurant.h b/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/Restaurant.h index 050fb5a..8598bdb 100644 --- a/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/Restaurant.h +++ b/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/Restaurant.h @@ -5,12 +5,13 @@ Date: 18-12-2026 #pragma once #include -#include +#include +#include #include "MenuItem.h" #include "Order.h" -using menuItems = std::vector; -using orders = std::vector; +using menuItems = std::map>; +using orders= std::map>; class Restaurant { @@ -19,23 +20,21 @@ private: std::string m_name; menuItems m_menuItems; orders m_orders; - bool m_status; + bool m_isOpen; public: Restaurant() : m_id(0), m_name(""), - m_status(true) + m_isOpen(true) {} Restaurant(int id, const std::string& name) : m_id(id), m_name(name), - m_status(true) + m_isOpen(true) {} - ~Restaurant(); int getId() const; menuItems& getMenuItems(); orders& getOrders(); bool getStatus() const; void setStatus(bool); }; -