Editar Brokers y sus contratos

This commit is contained in:
Juan Pablo Vial
2025-03-11 17:41:11 -03:00
parent 510e05e5ca
commit 7c7c8315e2
13 changed files with 491 additions and 60 deletions

View File

@ -1,23 +1,46 @@
<?php
namespace Incoviba\Controller\Proyectos;
use Incoviba\Common\Implement\Exception\EmptyResult;
use Incoviba\Exception\ServiceAction\Read;
use Psr\Log\LoggerInterface;
use Psr\Http\Message\ServerRequestInterface;
use Psr\Http\Message\ResponseInterface;
use Incoviba\Common\Alias\View;
use Incoviba\Common\Implement\Exception\EmptyResult;
use Incoviba\Exception\ServiceAction\Read;
use Incoviba\Repository;
use Incoviba\Service;
use Psr\Log\LoggerInterface;
class Brokers
{
public function __invoke(ServerRequestInterface $request, ResponseInterface $response, LoggerInterface $logger, Service\Proyecto\Broker $brokerService, View $view): ResponseInterface
public function __invoke(ServerRequestInterface $request, ResponseInterface $response, LoggerInterface $logger,
Service\Proyecto\Broker $brokerService, Repository\Proyecto $proyectoRepository,
View $view): ResponseInterface
{
$brokers = [];
$projects = [];
try {
$brokers = $brokerService->getAll();
} catch (Read) {}
return $view->render($response, 'proyectos.brokers', compact('brokers'));
$projects = $proyectoRepository->fetchAll('descripcion');
} catch (EmptyResult $exception) {
$logger->error($exception);
}
$brokers = $brokerService->getAll();
return $view->render($response, 'proyectos.brokers', compact('brokers', 'projects'));
}
public function show(ServerRequestInterface $request, ResponseInterface $response, LoggerInterface $logger,
Service\Proyecto\Broker $brokerService, Repository\Proyecto $proyectoRepository,
View $view, int $broker_rut): ResponseInterface
{
$broker = null;
try {
$broker = $brokerService->get($broker_rut);
} catch (Read $exception) {
$logger->error($exception);
}
$projects = [];
try {
$projects = $proyectoRepository->fetchAll('descripcion');
} catch (EmptyResult $exception) {
$logger->error($exception);
}
return $view->render($response, 'proyectos.brokers.show', compact('broker', 'projects'));
}
}