<?php
namespace App\Entities\Presupuestos;

use App\Entities\Tarifas\TarifaManipuladoEntity;
use App\Models\Configuracion\MaquinaModel;
use App\Models\Tarifas\Maquinas\TarifaManipuladoMaquinaModel;
use App\Models\Tarifas\TarifaManipuladoModel;
use CodeIgniter\Entity;

class PresupuestoManipuladosEntity extends \CodeIgniter\Entity\Entity
{
    protected $attributes = [
        "id" => null,
        "presupuesto_id" => null,
        "tarifa_manipulado_id" => null,
        "precio_unidad" => null,
        "precio_total" => null,
        "margen" => null,
        "created_at" => null,
        "updated_at" => null,
    ];
    protected $casts = [
        "presupuesto_id" => "int",
        "tarifa_manipulado_id" => "int",
        "precio_unidad" => "float",
        "precio_total" => "float",
        "margen" => "float",
    ];
    public function maquinas() : array 
    {
        $m = model(TarifaManipuladoMaquinaModel::class);
        $tarifa_maquinas = $m->where("tarifa_manipulado_id",$this->attributes["tarifa_manipulado_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() : TarifaManipuladoEntity 
    {
        $m = model(TarifaManipuladoModel::class);
        return $m->find($this->attributes["tarifa_manipulado_id"]);
    }
}
