<?php
namespace App\Enum;
enum SalesStatus :string
{
case PENDING = 'PENDING';
case COMPLETED = 'COMPLETED';
case PENDING_ITEMS = 'PENDING_ITEMS';
case IN_PROGRESS = 'IN_PROGRESS';
case CANCELLED = 'CANCELLED';
case PARTIALLY_RETURNED = 'PARTIALLY_RETURNED';
case FULLY_RETURNED = 'FULLY_RETURNED';
public function getLabel(): string
{
return match ($this) {
self::PENDING => 'Beklemede',
self::COMPLETED => 'Tamamlandı',
self::CANCELLED => 'İptal Edildi',
self::IN_PROGRESS => 'Devam Ediyor',
self::PENDING_ITEMS => 'Ürünler bekleniyor',
self::PARTIALLY_RETURNED => 'Kısmi İade',
self::FULLY_RETURNED => 'Tam İade',
};
}
public function getTranslationKey():string
{
return 'sales_status.'.$this->value;
}
public function isStockDecreasing(): bool
{
return match ($this) {
self::COMPLETED,
self::PENDING_ITEMS => true,
default => false,
};
}
}