Files
portal/app/Classes/Modules/Orders/Services/GeneratesOrderNumber.php
T
omair saleh d8c767c670 Large commit
2021-08-16 08:59:43 +08:00

31 lines
692 B
PHP

<?php
namespace App\Classes\Modules\Orders\Services;
class GeneratesOrderNumber
{
/** @var ChecksIfOrderNumberExists */
private $checkIfOrderNumberExists;
/**
* GeneratesBookingMarking constructor.
* @param ChecksIfOrderNumberExists $checkIfOrderNumberExists
*/
public function __construct(ChecksIfOrderNumberExists $checkIfOrderNumberExists)
{
$this->checkIfOrderNumberExists = $checkIfOrderNumberExists;
}
/**
* @return int
*/
public function execute(): int {
$reference = rand(100000001, 999999999);
return !$this->checkIfOrderNumberExists->execute($reference) ? $reference : self::execute();
}
}