<?php

namespace App\Models;

use App\Traits\BelongsToVendor;
use Illuminate\Database\Eloquent\Model;

/**
 * محصول (تعریف نوع فلز + عیار + موجودی انبار).
 * هر محصول یک ردیف است با نام، نوع فلز، عیار و موجودی فعلی.
 * با تایید سفارش خرید → به موجودی اضافه، با تایید سفارش فروش → از موجودی کم.
 */
class Product extends Model
{
    use BelongsToVendor;

    protected $fillable = [
        'vendor_id',
        'name',
        'code',
        'metal_type',
        'purity',
        'current_stock_grams',
        'notes',
    ];

    protected $casts = [
        'purity' => 'float',
        'current_stock_grams' => 'decimal:3',
    ];

    /**
     * نام نوع فلز برای نمایش
     */
    public static function metalTypeLabel(string $code): string
    {
        return match ($code) {
            'GOLD' => 'طلا',
            'SILVER' => 'نقره',
            'PLATINUM' => 'پلاتین',
            default => $code,
        };
    }
}
