setTable('pie'); } public function create(?array $data = null): Define\Model { $map = [ 'fecha' => [ 'function' => function($data) { return new DateTimeImmutable($data['fecha']); } ], 'valor' => [], 'uf' => [], 'cuotas' => [], 'asociado' => [ 'function' => function($data) { if ($data['asociado'] === null or $data['asociado'] === 0) { return null; } return $this->fetchById($data['asociado']); } ], 'reajuste' => [ 'function' => function($data) { if ($data['reajuste'] === null or $data['reajuste'] === 0) { return null; } return $this->pagoRepository->fetchById($data['reajuste']); } ] ]; return $this->parseData(new Model\Venta\Pie(), $data, $map); } public function save(Define\Model $model): Define\Model { $model->id = $this->saveNew( ['fecha', 'valor', 'uf', 'cuotas', 'asociado', 'reajuste'], [$model->fecha->format('Y-m-d H:i:s'), $model->valor, $model?->uf, $model->cuotas, $model?->asociado->id, $model?->reajuste->id] ); return $model; } public function edit(Define\Model $model, array $new_data): Define\Model { return $this->update($model, ['fecha', 'valor', 'uf', 'cuotas', 'asociado', 'reajuste'], $new_data); } }