Add Delivery Partner Menu definitions

This commit is contained in:
Joel Thomas
2026-02-18 23:41:56 +05:30
parent a6c4d2d392
commit bd60fd6884
2 changed files with 63 additions and 0 deletions
@@ -1 +1,61 @@
/*
Author: Joel Mathew Thomas
Date: 18-12-2026
*/
#include <iostream>
#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<char>(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<char>(choice);
if (choice != 'Y' && choice != 'y')
{
isMenuActive = false;
}
return isMenuActive;
}
@@ -20,6 +20,9 @@ public:
void listCustomerOrders();
void placeOrder();
void cancelOrder();
void listDeliveryAssignments();
void acceptDeliveryAssignment();
void confirmDeliveryAssignment();
void logout();
};