<?php
namespace App\Entities\Presupuestos;

use App\Entities\Tarifas\TarifaEncuadernacionEntity;
use App\Models\Configuracion\MaquinaModel;
use App\Models\Tarifas\Maquinas\TarifaEncuadernacionMaquinaModel;
use App\Models\Tarifas\TarifaEncuadernacionModel;
use CodeIgniter\Entity;

class PresupuestoEncuadernacionesEntity extends \CodeIgniter\Entity\Entity
{
    protected $attributes = [
        "id" => null,
        "presupuesto_id" => null,
        "tarifa_encuadernado_id" => null,
        "proveedor_id" => null,
        "precio_unidad" => null,
        "paginas_por_cuadernillo" => null,
        "tiempo" => null,
        "precio_total" => null,
        "margen" => null,
        "created_at" => null,
        "updated_at" => null,
    ];
    protected $casts = [
        "presupuesto_id" => "int",
        "tarifa_encuadernado_id" => "int",
        "proveedor_id" => "int",
        "precio_unidad" => "float",
        "paginas_por_cuadernillo" => "int",
        "tiempo" => "float",
        "precio_total" => "float",
        "margen" => "float",
    ];
    public function maquinas() : array 
    {
        $m = model(TarifaEncuadernacionMaquinaModel::class);
        $tarifa_maquinas = $m->where("tarifa_encuadernacion_id",$this->attributes["tarifa_encuadernado_id"])->findAll();
        $maquinaModel = model(MaquinaModel::class);
        $maquinas = [];
        foreach ($tarifa_maquinas as $key => $tarifa_maquina) {
            $maquinas[] = $maquinaModel->find($tarifa_maquina->maquina_id);
        }
        return $maquinas;
    }
    public function tarifa() : TarifaEncuadernacionEntity 
    {
        $m = model(TarifaEncuadernacionModel::class);
        return $m->find($this->attributes["tarifa_encuadernado_id"]);
    }
}
