Files
Training-1914-Jan26/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/DeliveryPartnerMenu.cpp
T
Joel Thomas a491187e3d Implement Controller login()
- Implement Controller login()
- Add getType() method in User to determine User Type to create
  corresponding menu object
- Remove logout() method from Controller, as login() can procedurally
  logout
- Remove unused includes from Controller
2026-02-19 10:33:58 +05:30

64 lines
1.3 KiB
C++

/*
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. View My Profile\n"
"5. 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.viewProfile();
break;
case '5':
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;
}