<?php
namespace Incoviba\Controller\Contabilidad;

use Incoviba\Common\Alias\View;
use Incoviba\Repository;
use Psr\Http\Message\ResponseInterface;
use Psr\Http\Message\ServerRequestInterface;

class CentrosCostos
{
    public function __invoke(ServerRequestInterface                  $request, ResponseInterface $response, View $view,
                             Repository\Contabilidad\CentroCosto     $centroCostoRepository,
                             Repository\Contabilidad\TipoCentro      $tipoCentroRepository,
                             Repository\Contabilidad\CategoriaCentro $categoriaCentroRepository,
                             Repository\TipoCuenta                   $tipoCuentaRepository): ResponseInterface
    {
        $centrosCostos = $centroCostoRepository->fetchAll();
        $tiposCentros = $tipoCentroRepository->fetchAll();
        $categorias = $categoriaCentroRepository->fetchAll('descripcion');
        $tiposCuentas = $tipoCuentaRepository->fetchAll();
        return $view->render($response, 'contabilidad.centros_costos', compact('centrosCostos',
            'tiposCentros', 'categorias', 'tiposCuentas'));
    }
    public function asignar(ServerRequestInterface              $request, ResponseInterface $response, View $view,
                            Repository\Contabilidad\CentroCosto $centroCostoRepository,
                            Repository\Inmobiliaria             $inmobiliariaRepository): ResponseInterface
    {
        $centrosCostos = $centroCostoRepository->fetchAll();
        $inmobiliarias = $inmobiliariaRepository->fetchAllActive('razon');
        return $view->render($response, 'contabilidad.centros_costos.asignar', compact('centrosCostos', 'inmobiliarias'));
    }
}
