diff --git a/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/Customer.cpp b/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/Customer.cpp index 90380a5..3709753 100644 --- a/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/Customer.cpp +++ b/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/Customer.cpp @@ -1 +1,11 @@ #include "Customer.h" + +void Customer::addOrder(std::shared_ptr orderPointer) +{ + m_orders[orderPointer->getId()] = orderPointer; +} + +orders& Customer::getOrders() +{ + return m_orders; +} diff --git a/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/Customer.h b/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/Customer.h index 1a3295b..2814111 100644 --- a/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/Customer.h +++ b/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/Customer.h @@ -4,17 +4,18 @@ Date: 17-02-2026 */ #pragma once -#include +#include +#include #include "User.h" #include "Order.h" -using orders = std::vector; +using orders = std::map>; class Customer : public User { orders m_orders; private: - void addOrder(Order*); + void addOrder(std::shared_ptr); orders& getOrders(); }; diff --git a/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/DeliveryPartner.cpp b/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/DeliveryPartner.cpp index c6fbf29..ed251f5 100644 --- a/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/DeliveryPartner.cpp +++ b/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/DeliveryPartner.cpp @@ -1 +1,11 @@ +/* +Author: Joel Mathew Thomas +Date: 18-02-2026 +*/ + #include "DeliveryPartner.h" + +void DeliveryPartner::acceptDeliveryAssignment(std::shared_ptr deliveryAssignmentPointer) +{ + m_deliveryAssignments[deliveryAssignmentPointer->getId()] = deliveryAssignmentPointer; +} diff --git a/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/DeliveryPartner.h b/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/DeliveryPartner.h index 6d8982b..a789f25 100644 --- a/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/DeliveryPartner.h +++ b/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/DeliveryPartner.h @@ -4,18 +4,19 @@ Date: 17-02-2026 */ #pragma once -#include +#include +#include #include "User.h" #include "DeliveryAssignment.h" -using deliveryAssignments = std::vector; +using deliveryAssignments = std::map>; class DeliveryPartner : public User { private: deliveryAssignments m_deliveryAssignments; public: - void acceptDeliveryAssignment(DeliveryAssignment*); + void acceptDeliveryAssignment(std::shared_ptr); deliveryAssignments& getAssignedDeliveries(); }; diff --git a/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/Order.h b/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/Order.h index 8b7cdb2..5718b61 100644 --- a/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/Order.h +++ b/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/Order.h @@ -37,6 +37,7 @@ public: m_status(OrderStatus::CREATED) {} ~Order(); + int getId() const; void addItem(); void removeItem(); items& getItems(); diff --git a/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/Restaurant.h b/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/Restaurant.h index b0e43ba..050fb5a 100644 --- a/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/Restaurant.h +++ b/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/Restaurant.h @@ -32,6 +32,7 @@ public: m_status(true) {} ~Restaurant(); + int getId() const; menuItems& getMenuItems(); orders& getOrders(); bool getStatus() const; diff --git a/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/RestaurantOwner.cpp b/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/RestaurantOwner.cpp index 7ba88fe..468805f 100644 --- a/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/RestaurantOwner.cpp +++ b/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/RestaurantOwner.cpp @@ -1 +1,16 @@ +/* +Author: Joel Mathew Thomas +Date: 18-02-2026 +*/ + #include "RestaurantOwner.h" + +void RestaurantOwner::addRestaurant(std::shared_ptr restaurantPointer) +{ + m_restaurants[restaurantPointer->getId()] = restaurantPointer; +} + +restaurants& RestaurantOwner::getRestaurants() +{ + return m_restaurants; +} diff --git a/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/RestaurantOwner.h b/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/RestaurantOwner.h index 03fa5bd..6ee4a25 100644 --- a/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/RestaurantOwner.h +++ b/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/RestaurantOwner.h @@ -4,18 +4,19 @@ Date: 17-02-2026 */ #pragma once -#include +#include +#include #include "User.h" #include "Restaurant.h" #include "MenuItem.h" -using restaurants = std::vector; +using restaurants = std::map>; class RestaurantOwner : public User { private: restaurants m_restaurants; public: - void addRestaurant(Restaurant*); + void addRestaurant(std::shared_ptr); restaurants& getRestaurants(); }; diff --git a/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/User.cpp b/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/User.cpp index d1686ff..f0e0b2f 100644 --- a/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/User.cpp +++ b/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/User.cpp @@ -1 +1,36 @@ +/* +Author: Joel Mathew Thomas +Date: 18-02-2026 +*/ + #include "User.h" + +int User::getId() const +{ + return m_id; +} + +std::string User::getUsername() const +{ + return m_username; +} + +std::string User::getName() const +{ + return m_name; +} + +std::string User::getPhone() const +{ + return m_phone; +} + +std::string User::getEmail() const +{ + return m_email; +} + +bool User::login(const std::string& password) const +{ + return password == m_password; +} diff --git a/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/User.h b/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/User.h index a25f10e..1cbff73 100644 --- a/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/User.h +++ b/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/User.h @@ -10,35 +10,37 @@ class User { private: int m_id; + std::string m_username; std::string m_name; std::string m_phone; std::string m_password; std::string m_email; - bool m_isAuthenticated; public: - User() - : m_id(0), + User(): + m_username(""), m_name(""), m_phone(""), m_password(""), - m_email(""), - m_isAuthenticated(false) + m_email("") {} User(int id, + const std::string& username, const std::string& name, const std::string& phone, const std::string& password, - const std::string& email) - : m_id(id), - m_name(name), + const std::string& email): + m_username(""), + m_name(username), m_phone(phone), m_password(password), - m_email(email), - m_isAuthenticated(false) + m_email(email) {} virtual ~User() = default; - void login(); - void logout(); + std::string getUsername() const; + std::string getName() const; + std::string getPhone() const; + std::string getEmail() const; + bool login(const std::string&) const; };