From bd60fd688482688d5d727152d08086f295394c96 Mon Sep 17 00:00:00 2001 From: Joel Thomas <1914@trenser.com> Date: Wed, 18 Feb 2026 23:41:56 +0530 Subject: [PATCH] Add Delivery Partner Menu definitions --- .../DeliveryPartnerMenu.cpp | 60 +++++++++++++++++++ .../FoodDeliveryController.h | 3 + 2 files changed, 63 insertions(+) diff --git a/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/DeliveryPartnerMenu.cpp b/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/DeliveryPartnerMenu.cpp index acfe2cc..27fb33c 100644 --- a/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/DeliveryPartnerMenu.cpp +++ b/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/DeliveryPartnerMenu.cpp @@ -1 +1,61 @@ +/* +Author: Joel Mathew Thomas +Date: 18-12-2026 +*/ + +#include #include "DeliveryPartnerMenu.h" +#include "FoodDeliveryController.h" +#include "inputHelper.h" +#include "outputHelper.h" + +void DeliveryPartnerMenu::showMenu() +{ + bool isMenuActive = true; + while (isMenuActive) + { + char choice; + util::clear(); + std::cout << "Welcome " << m_userFullName << "\n"; + std::cout << "DeliveryPartner Menu\n" + "1. View My Delivery Jobs\n" + "2. Accept Delivery Job\n" + "3. Confirm Delivery\n" + "4. Logout\n" + "Choice?: "; + util::readValue(choice); + if (!handleOperation(choice)) + { + isMenuActive = false; + } + } +} + +bool DeliveryPartnerMenu::handleOperation(char choice) +{ + bool isMenuActive = true; + util::clear(); + switch (choice) + { + case '1': + m_foodDeliveryController.listDeliveryAssignments(); + break; + case '2': + m_foodDeliveryController.acceptDeliveryAssignment(); + break; + case '3': + m_foodDeliveryController.confirmDeliveryAssignment(); + break; + case '4': + m_foodDeliveryController.logout(); + isMenuActive = false; + break; + } + std::cout << "\nDo you want to continue (Y/N)?: "; + util::readValue(choice); + if (choice != 'Y' && choice != 'y') + { + isMenuActive = false; + } + return isMenuActive; +} \ No newline at end of file diff --git a/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/FoodDeliveryController.h b/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/FoodDeliveryController.h index 585ba34..2720213 100644 --- a/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/FoodDeliveryController.h +++ b/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/FoodDeliveryController.h @@ -20,6 +20,9 @@ public: void listCustomerOrders(); void placeOrder(); void cancelOrder(); + void listDeliveryAssignments(); + void acceptDeliveryAssignment(); + void confirmDeliveryAssignment(); void logout(); };