2023-09-12

This commit is contained in:
Juan Pablo Vial
2023-09-13 18:51:46 -03:00
parent fa15da1ee2
commit 0cd357b6cb
47 changed files with 1225 additions and 102 deletions

View File

@ -23,14 +23,17 @@ class Cuota extends Ideal\Repository
$this->setTable('cuota');
}
public function create(?array $data = null): Define\Model
public function create(?array $data = null): Model\Venta\Cuota
{
$map = (new Implement\Repository\MapperParser(['valor', 'uf', 'numero']))
$map = (new Implement\Repository\MapperParser(['uf', 'numero']))
->register('pie', (new Implement\Repository\Mapper())
->setFunction(function($data) {
return $this->pieRepository->fetchById($data['pie']);
}))
->register('fecha', new Implement\Repository\Mapper\DateTime('fecha'))
->register('valor_$', (new Implement\Repository\Mapper())
->setProperty('valor')
)
->register('estado', new Implement\Repository\Mapper\Boolean('estado'))
->register('banco', (new Implement\Repository\Mapper())
->setFunction(function($data) {
@ -55,18 +58,18 @@ class Cuota extends Ideal\Repository
return $this->parseData(new Model\Venta\Cuota(), $data, $map);
}
public function save(Define\Model $model): Define\Model
public function save(Define\Model $model): Model\Venta\Cuota
{
$model->id = $this->saveNew(
['pie', 'fecha', 'valor', 'estado', 'banco', 'fecha_pago', 'abonado', 'fecha_abonado', 'uf', 'pago', 'numero'],
[$model->pie->id, $model->fecha->format('Y-m-d H:i:s'), $model->valor, $model->estado ? 1 : 0, $model?->banco->id,
$model?->fechaPago->format('Y-m-d H:i:s'), $model?->abonado ? 1 : 0, $model?->fechaAbonado->format('Y-m-d H:i:s'),
$model?->uf, $model?->pago->id, $model?->numero]
['pie', 'fecha', 'valor_$', 'estado', 'banco', 'fecha_pago', 'abonado', 'fecha_abono', 'uf', 'pago', 'numero'],
[$model->pie->id, $model->fecha->format('Y-m-d H:i:s'), $model->valor, $model->estado ? 1 : 0, $model->banco?->id,
null, null, null,
$model->uf, $model->pago->id, $model->numero]
);
return $model;
}
public function edit(Define\Model $model, array $new_data): Define\Model
public function edit(Define\Model $model, array $new_data): Model\Venta\Cuota
{
return $this->update($model, ['pie', 'fecha', 'valor', 'estado', 'banco', 'fecha_pago', 'abonado', 'fecha_abonado', 'uf', 'pago', 'numero'], $new_data);
}