Files
oficial/app/src/Service/Venta/Precio.php

37 lines
1.4 KiB
PHP
Raw Normal View History

<?php
namespace Incoviba\Service\Venta;
use Incoviba\Repository;
2023-07-28 16:22:20 -04:00
use Incoviba\Model;
class Precio
{
public function __construct(protected Repository\Venta\Precio $precioRepository, protected Repository\Venta\EstadoPrecio $estadoPrecioRepository) {}
public function getByProyecto(int $proyecto_id): array
{
$precios = $this->precioRepository->fetchByProyecto($proyecto_id);
foreach ($precios as &$precio) {
$precio->estados = $this->estadoPrecioRepository->fetchByPrecio($precio->id);
$precio->current = $this->estadoPrecioRepository->fetchCurrentByPrecio($precio->id);
}
return $precios;
}
public function getVigenteByUnidad(int $unidad_id): Model\Venta\Precio
2023-07-28 16:22:20 -04:00
{
$precio = $this->precioRepository->fetchVigenteByUnidad($unidad_id);
2023-07-28 16:22:20 -04:00
$precio->estados = $this->estadoPrecioRepository->fetchByPrecio($precio->id);
$precio->current = $this->estadoPrecioRepository->fetchCurrentByPrecio($precio->id);
return $precio;
}
public function getByUnidad(int $unidad_id): array
{
$precios = $this->precioRepository->fetchByUnidad($unidad_id);
foreach ($precios as &$precio) {
$precio->estados = $this->estadoPrecioRepository->fetchByPrecio($precio->id);
$precio->current = $this->estadoPrecioRepository->fetchCurrentByPrecio($precio->id);
}
return $precios;
}
}