Files
Training-1914-Jan26/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/RestaurantOwnerMenu.cpp
T

89 lines
1.7 KiB
C++

/*
Author: Joel Mathew Thomas
Date: 18-02-2026
*/
#include <iostream>
#include "FoodDeliveryController.h"
#include "RestaurantOwnerMenu.h"
#include "inputHelper.h"
#include "outputHelper.h"
void RestaurantOwnerMenu::showMenu()
{
bool isMenuActive = true;
while (isMenuActive)
{
try
{
int choice;
util::clear();
std::cout << "Welcome " << m_userFullName << "\n";
std::cout << "Restaurant Owner Menu\n"
"1. List My Restaurants\n"
"2. Add New Restaurant\n"
"3. Update Restaurant Status\n"
"4. List Orders\n"
"5. Mark Order Ready for Delivery\n"
"6. List Menu Items\n"
"7. Add New Item to Menu\n"
"8. Remove Item from Menu\n"
"9. View My Profile\n"
"10. Logout\n"
"Choice?: ";
util::readValue<int>(choice);
if (!handleOperation(choice))
{
isMenuActive = false;
}
}
catch (const std::exception& e)
{
std::cout << "Exception: " << e.what() << std::endl;
util::pressEnter();
}
}
}
bool RestaurantOwnerMenu::handleOperation(int choice)
{
bool isMenuActive = true;
util::clear();
switch (choice)
{
case 1:
m_foodDeliveryController.listRestaurants();
break;
case 2:
m_foodDeliveryController.addNewRestaurant();
break;
case 3:
m_foodDeliveryController.updateRestaurantStatus();
break;
case 4:
m_foodDeliveryController.listRestaurantOrders();
break;
case 5:
m_foodDeliveryController.markOrderReady();
break;
case 6:
m_foodDeliveryController.listMenuItems();
break;
case 7:
m_foodDeliveryController.addMenuItem();
break;
case 8:
m_foodDeliveryController.removeMenuItem();
break;
case 9:
m_foodDeliveryController.viewProfile();
break;
case 10:
return false;
default:
std::cout << "Invalid Choice!\n";
}
util::pressEnter();
return isMenuActive;
}