Add RestaurantOwner Menu definitions
- Add RestaurantOwner Menu definitions - Remove unused id attribute in class User
This commit is contained in:
@@ -10,7 +10,7 @@ Date: 18-12-2026
|
|||||||
class CustomerMenu : public Menu
|
class CustomerMenu : public Menu
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
CustomerMenu(FoodDeliveryController& foodDeliveryController) : Menu(foodDeliveryController) {}
|
CustomerMenu(FoodDeliveryController& foodDeliveryController, const std::string userFullName): Menu(foodDeliveryController, userFullName) {}
|
||||||
void showMenu() const override;
|
void showMenu() override;
|
||||||
void handleOperation() override;
|
bool handleOperation(char) override;
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ Date: 18-12-2026
|
|||||||
class DeliveryPartnerMenu : public Menu
|
class DeliveryPartnerMenu : public Menu
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
DeliveryPartnerMenu(FoodDeliveryController& foodDeliveryController) : Menu(foodDeliveryController) {}
|
DeliveryPartnerMenu(FoodDeliveryController& foodDeliveryController, const std::string userFullName): Menu(foodDeliveryController, userFullName) {}
|
||||||
void showMenu() const override;
|
void showMenu() override;
|
||||||
void handleOperation() override;
|
bool handleOperation(char) override;
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -1,5 +1,19 @@
|
|||||||
|
/*
|
||||||
|
Author: Joel Mathew Thomas
|
||||||
|
Date: 18-02-2026
|
||||||
|
*/
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
class FoodDeliveryController
|
class FoodDeliveryController
|
||||||
{
|
{
|
||||||
|
public:
|
||||||
|
void listRestaurants();
|
||||||
|
void updateRestaurantStatus();
|
||||||
|
void listRestaurantOrders();
|
||||||
|
void markOrderReady();
|
||||||
|
void listMenuItems();
|
||||||
|
void addMenuItem();
|
||||||
|
void removeMenuItem();
|
||||||
|
void logout();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -5,16 +5,18 @@ Date: 18-12-2026
|
|||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
|
#include <string>
|
||||||
#include "FoodDeliveryController.h"
|
#include "FoodDeliveryController.h"
|
||||||
|
|
||||||
class Menu
|
class Menu
|
||||||
{
|
{
|
||||||
private:
|
protected:
|
||||||
FoodDeliveryController& m_foodDeliveryController;
|
FoodDeliveryController& m_foodDeliveryController;
|
||||||
|
std::string m_userFullName;
|
||||||
public:
|
public:
|
||||||
Menu(FoodDeliveryController& foodDeliveryController) : m_foodDeliveryController(foodDeliveryController) {}
|
Menu(FoodDeliveryController& foodDeliveryController, const std::string& userFullName) : m_foodDeliveryController(foodDeliveryController), m_userFullName(userFullName) {}
|
||||||
virtual ~Menu() = default;
|
virtual ~Menu() = default;
|
||||||
virtual void showMenu() const = 0;
|
virtual void showMenu() = 0;
|
||||||
virtual void handleOperation() = 0;
|
virtual bool handleOperation(char) = 0;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -1 +1,76 @@
|
|||||||
|
/*
|
||||||
|
Author: Joel Mathew Thomas
|
||||||
|
Date: 18-02-2026
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <iostream>
|
||||||
#include "RestaurantOwnerMenu.h"
|
#include "RestaurantOwnerMenu.h"
|
||||||
|
#include "inputHelper.h"
|
||||||
|
#include "outputHelper.h"
|
||||||
|
|
||||||
|
void RestaurantOwnerMenu::showMenu()
|
||||||
|
{
|
||||||
|
bool isMenuActive = true;
|
||||||
|
while (isMenuActive)
|
||||||
|
{
|
||||||
|
char choice;
|
||||||
|
util::clear();
|
||||||
|
std::cout << "Welcome " << m_userFullName << "\n";
|
||||||
|
std::cout << "Restaurant Owner Menu\n"
|
||||||
|
"1. List My Restaurants\n"
|
||||||
|
"2. Update Restaurant Status\n"
|
||||||
|
"3. List Orders\n"
|
||||||
|
"4. Mark Order Ready for Delivery\n"
|
||||||
|
"5. List Menu Items\n"
|
||||||
|
"6. Add New Item to Menu\n"
|
||||||
|
"7. Remove Item from Menu\n"
|
||||||
|
"8. Logout\n"
|
||||||
|
"Choice?: ";
|
||||||
|
util::readValue<char>(choice);
|
||||||
|
if (!handleOperation(choice))
|
||||||
|
{
|
||||||
|
isMenuActive = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
bool RestaurantOwnerMenu::handleOperation(char choice)
|
||||||
|
{
|
||||||
|
bool isMenuActive = true;
|
||||||
|
util::clear();
|
||||||
|
switch (choice)
|
||||||
|
{
|
||||||
|
case '1':
|
||||||
|
m_foodDeliveryController.listRestaurants();
|
||||||
|
break;
|
||||||
|
case '2':
|
||||||
|
m_foodDeliveryController.updateRestaurantStatus();
|
||||||
|
break;
|
||||||
|
case '3':
|
||||||
|
m_foodDeliveryController.listRestaurantOrders();
|
||||||
|
break;
|
||||||
|
case '4':
|
||||||
|
m_foodDeliveryController.markOrderReady();
|
||||||
|
break;
|
||||||
|
case '5':
|
||||||
|
m_foodDeliveryController.listMenuItems();
|
||||||
|
break;
|
||||||
|
case '6':
|
||||||
|
m_foodDeliveryController.addMenuItem();
|
||||||
|
break;
|
||||||
|
case '7':
|
||||||
|
m_foodDeliveryController.removeMenuItem();
|
||||||
|
break;
|
||||||
|
case '8':
|
||||||
|
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;
|
||||||
|
}
|
||||||
|
|||||||
@@ -10,8 +10,8 @@ Date: 18-12-2026
|
|||||||
class RestaurantOwnerMenu : public Menu
|
class RestaurantOwnerMenu : public Menu
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
RestaurantOwnerMenu(FoodDeliveryController& foodDeliveryController): Menu(foodDeliveryController) {}
|
RestaurantOwnerMenu(FoodDeliveryController& foodDeliveryController, const std::string userFullName): Menu(foodDeliveryController, userFullName) {}
|
||||||
void showMenu() const override;
|
void showMenu() override;
|
||||||
void handleOperation() override;
|
bool handleOperation(char) override;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -131,10 +131,12 @@
|
|||||||
<ClCompile Include="DeliveryPartnerMenu.cpp" />
|
<ClCompile Include="DeliveryPartnerMenu.cpp" />
|
||||||
<ClCompile Include="FileDatabase.cpp" />
|
<ClCompile Include="FileDatabase.cpp" />
|
||||||
<ClCompile Include="FoodDeliveryController.cpp" />
|
<ClCompile Include="FoodDeliveryController.cpp" />
|
||||||
|
<ClCompile Include="inputHelper.cpp" />
|
||||||
<ClCompile Include="Item.cpp" />
|
<ClCompile Include="Item.cpp" />
|
||||||
<ClCompile Include="Menu.cpp" />
|
<ClCompile Include="Menu.cpp" />
|
||||||
<ClCompile Include="MenuItem.cpp" />
|
<ClCompile Include="MenuItem.cpp" />
|
||||||
<ClCompile Include="Order.cpp" />
|
<ClCompile Include="Order.cpp" />
|
||||||
|
<ClCompile Include="OutputHelper.cpp" />
|
||||||
<ClCompile Include="Restaurant.cpp" />
|
<ClCompile Include="Restaurant.cpp" />
|
||||||
<ClCompile Include="RestaurantOwner.cpp" />
|
<ClCompile Include="RestaurantOwner.cpp" />
|
||||||
<ClCompile Include="RestaurantOwnerMenu.cpp" />
|
<ClCompile Include="RestaurantOwnerMenu.cpp" />
|
||||||
@@ -150,10 +152,12 @@
|
|||||||
<ClInclude Include="DeliveryPartnerMenu.h" />
|
<ClInclude Include="DeliveryPartnerMenu.h" />
|
||||||
<ClInclude Include="FileDatabase.h" />
|
<ClInclude Include="FileDatabase.h" />
|
||||||
<ClInclude Include="FoodDeliveryController.h" />
|
<ClInclude Include="FoodDeliveryController.h" />
|
||||||
|
<ClInclude Include="inputHelper.h" />
|
||||||
<ClInclude Include="Item.h" />
|
<ClInclude Include="Item.h" />
|
||||||
<ClInclude Include="Menu.h" />
|
<ClInclude Include="Menu.h" />
|
||||||
<ClInclude Include="MenuItem.h" />
|
<ClInclude Include="MenuItem.h" />
|
||||||
<ClInclude Include="Order.h" />
|
<ClInclude Include="Order.h" />
|
||||||
|
<ClInclude Include="OutputHelper.h" />
|
||||||
<ClInclude Include="Restaurant.h" />
|
<ClInclude Include="Restaurant.h" />
|
||||||
<ClInclude Include="RestaurantOwner.h" />
|
<ClInclude Include="RestaurantOwner.h" />
|
||||||
<ClInclude Include="RestaurantOwnerMenu.h" />
|
<ClInclude Include="RestaurantOwnerMenu.h" />
|
||||||
|
|||||||
+12
@@ -78,6 +78,12 @@
|
|||||||
<ClCompile Include="CustomerMenu.cpp">
|
<ClCompile Include="CustomerMenu.cpp">
|
||||||
<Filter>Controller</Filter>
|
<Filter>Controller</Filter>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
|
<ClCompile Include="inputHelper.cpp">
|
||||||
|
<Filter>Utility</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="OutputHelper.cpp">
|
||||||
|
<Filter>Utility</Filter>
|
||||||
|
</ClCompile>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ClInclude Include="Address.h">
|
<ClInclude Include="Address.h">
|
||||||
@@ -128,5 +134,11 @@
|
|||||||
<ClInclude Include="CustomerMenu.h">
|
<ClInclude Include="CustomerMenu.h">
|
||||||
<Filter>Controller</Filter>
|
<Filter>Controller</Filter>
|
||||||
</ClInclude>
|
</ClInclude>
|
||||||
|
<ClInclude Include="inputHelper.h">
|
||||||
|
<Filter>Utility</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="OutputHelper.h">
|
||||||
|
<Filter>Utility</Filter>
|
||||||
|
</ClInclude>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
</Project>
|
</Project>
|
||||||
@@ -9,7 +9,6 @@ Date: 17-02-2026
|
|||||||
class User
|
class User
|
||||||
{
|
{
|
||||||
private:
|
private:
|
||||||
int m_id;
|
|
||||||
std::string m_username;
|
std::string m_username;
|
||||||
std::string m_name;
|
std::string m_name;
|
||||||
std::string m_phone;
|
std::string m_phone;
|
||||||
|
|||||||
Reference in New Issue
Block a user