// Locate the item with key itemsku and update its description field.
// Return false if itemsku is not found or retailprice is negative.
bool StockSystem::EditStockItemPrice(int itemsku, double retailprice)
{
	StockItem item = StockItem(itemsku, "", 0);
	StockItem* temp = records.Retrieve(item);
	if (temp != nullptr && retailprice >= 0)
	{
		temp->SetPrice(retailprice);
		return true;
	}
	else
		return false;
}
// Locate the item with key itemsku and update its description field.
// Return false if itemsku is not found or retailprice is negative.
bool StockSystem::EditStockItemPrice(int itemsku, double retailprice){
    //init an stockitem
    StockItem inputItem =  StockItem(itemsku, "ignore this message", retailprice);
    //search this identical item, if it is found return a pointer to it
    StockItem* valueRetreived = records.Retrieve(inputItem);
    //if the pointer is null, must be that retrieve failed
    if (valueRetreived == NULL) {
        return false;
    }else{
        //check negative pricing
        if (valueRetreived->GetPrice() < 0) {
            return false;
        }else{
            valueRetreived->SetPrice(retailprice);
            return true;
        }
    }
}
示例#3
0
// Locate the item with key itemsku and update its description field.
// Return false if itemsku is not found or retailprice is negative.
bool StockSystem::EditStockItemPrice(int itemsku, double retailprice)
{
	if (retailprice < 0) {return false;}

	int size = records.Size();
	StockItem* arr = records.Dump(size);

	for (int i = 0; i < size; i++)
	{
		if (arr[i].GetSKU() == itemsku)
		{
			StockItem *item = records.Retrieve(arr[i]);
			item->SetPrice(retailprice);
			delete[] arr;
			return true;
		}
	}
	delete[] arr;
	return false;
}