// 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; } } }
// 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; }