Listado proyectos
This commit is contained in:
@ -1,13 +1,32 @@
|
||||
<?php
|
||||
namespace Incoviba\Service;
|
||||
|
||||
use Incoviba\Common\Implement;
|
||||
use Incoviba\Repository;
|
||||
use Incoviba\Model;
|
||||
|
||||
class Proyecto
|
||||
{
|
||||
public function __construct(protected Repository\Proyecto $proyectoRepository) {}
|
||||
public function __construct(
|
||||
protected Repository\Proyecto $proyectoRepository,
|
||||
protected Repository\Proyecto\EstadoProyecto $estadoProyecto
|
||||
) {}
|
||||
public function getVendibles(): array
|
||||
{
|
||||
return $this->proyectoRepository->fetchAllActive();
|
||||
}
|
||||
public function getById(int $venta_id): Model\Proyecto
|
||||
{
|
||||
return $this->process($this->proyectoRepository->fetchById($venta_id));
|
||||
}
|
||||
protected function process(Model\Proyecto $proyecto): Model\Proyecto
|
||||
{
|
||||
$proyecto->addFactory('estados', (new Implement\Repository\Factory())
|
||||
->setCallable([$this->estadoProyecto, 'fetchByProyecto'])
|
||||
->setArgs([$proyecto->id]));
|
||||
$proyecto->addFactory('currentEstado', (new Implement\Repository\Factory())
|
||||
->setCallable([$this->estadoProyecto, 'fetchCurrentByProyecto'])
|
||||
->setArgs([$proyecto->id]));
|
||||
return $proyecto;
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user