Fix View Stock Level and improve error messages
- Added validation in AdminMenu::viewStockLevels to check for empty inventory before displaying. - Added validation in AdminMenu::viewStockLevels to ensure only active items are shown. - Added "View Stock Level" header for clarity. - Adjusted column widths for Quantity and Price to 15 for better alignment. - Added final newline and util::pressEnter() prompt after displaying stock levels. Fixes #1739
This commit is contained in:
@@ -158,10 +158,33 @@ void AdminMenu::viewStockLevels()
|
||||
{
|
||||
util::clear();
|
||||
auto inventoryItems = m_controller.getInventoryItems();
|
||||
bool hasActiveItems = false;
|
||||
std::cout << "View Stock Level" << std::endl;
|
||||
if (inventoryItems.isEmpty())
|
||||
{
|
||||
std::cout << "No items found in Inventory.\n";
|
||||
util::pressEnter();
|
||||
return;
|
||||
}
|
||||
for (int index = 0; index < inventoryItems.getSize(); index++)
|
||||
{
|
||||
const InventoryItem* item = inventoryItems.getValueAt(index);
|
||||
if (item->getState() == util::State::ACTIVE)
|
||||
{
|
||||
hasActiveItems = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (!hasActiveItems)
|
||||
{
|
||||
std::cout << "No active Inventory Item found.\n";
|
||||
util::pressEnter();
|
||||
return;
|
||||
}
|
||||
std::cout << std::left << std::setw(15) << "Item ID"
|
||||
<< std::setw(25) << "Part Name"
|
||||
<< std::setw(10) << "Quantity"
|
||||
<< std::setw(10) << "Price"
|
||||
<< std::setw(15) << "Quantity"
|
||||
<< std::setw(15) << "Price"
|
||||
<< std::endl;
|
||||
for (int iterator = 0; iterator < inventoryItems.getSize(); ++iterator)
|
||||
{
|
||||
@@ -172,12 +195,14 @@ void AdminMenu::viewStockLevels()
|
||||
{
|
||||
std::cout << std::left << std::setw(15) << item->getId()
|
||||
<< std::setw(25) << item->getPartName()
|
||||
<< std::setw(10) << item->getQuantity()
|
||||
<< std::setw(10) << item->getPrice()
|
||||
<< std::setw(15) << item->getQuantity()
|
||||
<< std::setw(15) << item->getPrice()
|
||||
<< std::endl;
|
||||
}
|
||||
}
|
||||
}
|
||||
std::cout << "\n";
|
||||
util::pressEnter();
|
||||
}
|
||||
|
||||
/*
|
||||
|
||||
Reference in New Issue
Block a user