<?php
namespace Incoviba\old\Venta;

use Incoviba\Common\Alias\OldModel as Model;
use Incoviba\old\Proyecto\ProyectoAgente;

/**
 * @property int $id
 * @property Agente $agente
 * @property Unidad $unidad
 */
class UnidadBloqueada extends Model
{
  public function agente()
  {
    return $this->belongsTo(ProyectoAgente::class, 'agente')->findOne();
  }
  public function unidad()
  {
    return $this->belongsTo(Unidad::class, 'unidad')->findOne();
  }
  public function estados()
  {
    return $this->hasMany(EstadoUnidadBloqueada::class, 'unidad')->orderByAsc('fecha')->findMany();
  }
  public function estado()
  {
    return $this->hasMany(EstadoUnidadBloqueada::class, 'unidad')->orderByDesc('fecha')->findOne();
  }
  public function new(\DateTime $fecha)
  {
    parent::save();
    $tipo = model(TipoEstadoUnidadBloqueada::class)->where('descripcion', 'bloqueada')->findOne();
    $data = [
      'unidad' => $this->id,
      'fecha' => $fecha->format('Y-m-d'),
      'tipo' => $tipo->id
    ];
    $estado = model(EstadoUnidadBloqueada::class)->create($data);
    $estado->save();
  }
}
