This commit is contained in:
2024-01-17 10:33:11 -03:00
parent c4f486d3fa
commit 674aba801e
27 changed files with 1210 additions and 2 deletions

View File

@ -0,0 +1,29 @@
<?php
namespace Incoviba\Service;
use DateTimeInterface;
use Psr\Http\Message\StreamFactoryInterface;
use Psr\Http\Message\UploadedFileInterface;
use Incoviba\Common\Define\Cartola\Banco;
use Incoviba\Common\Define\Contabilidad\Exporter;
use Incoviba\Model;
class Cartola
{
public function __construct(protected StreamFactoryInterface $streamFactory, protected Exporter $exporter) {}
protected array $bancos;
public function register(string $name, Banco $banco): Cartola
{
$this->bancos[$name] = $banco;
return $this;
}
public function process(Model\Inmobiliaria $inmobiliaria, Model\Banco $banco, DateTimeInterface $mes, UploadedFileInterface $file): array
{
return $this->bancos[strtolower($banco->nombre)]->process($file);
}
public function export(Model\Inmobiliaria $inmobiliaria, Model\Banco $banco, DateTimeInterface $mes, array $movimientos): string
{
return $this->exporter->export($inmobiliaria, $banco, $mes, $movimientos);
}
}