getQuantity() === 0 && $record->getDrinkType()->getDesiredStock() > 0) { return new self($record, StockState::CRITICAL); } if ($record->getQuantity() < ($record->getDrinkType()->getDesiredStock() * $lowStockMultiplier)) { return new self($record, StockState::LOW); } if ($record->getQuantity() > $record->getDrinkType()->getDesiredStock()) { return new self($record, StockState::HIGH); } return new self($record, StockState::NORMAL); } }