a491187e3d
- 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
64 lines
1.3 KiB
C++
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;
|
|
} |