From b27a6fab335e36ab3cb8f3808f32e5920f62966d Mon Sep 17 00:00:00 2001 From: Juan Pablo Vial Date: Fri, 7 Jun 2024 17:16:58 -0400 Subject: [PATCH] Propiedad con unidad_principal --- app/src/Repository/Venta/Propiedad.php | 9 ++++++++- app/src/Service/Venta/Propiedad.php | 1 + 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/app/src/Repository/Venta/Propiedad.php b/app/src/Repository/Venta/Propiedad.php index 7b74fcc..8029bd3 100644 --- a/app/src/Repository/Venta/Propiedad.php +++ b/app/src/Repository/Venta/Propiedad.php @@ -18,6 +18,13 @@ class Propiedad extends Ideal\Repository public function create(?array $data = null): Model\Venta\Propiedad { $map = (new Implement\Repository\MapperParser()) + ->register('unidad_principal', (new Implement\Repository\Mapper()) + ->setProperty('unidades') + ->setDefault([]) + ->setFunction(function($data) { + return [$this->unidadService->getById($data['unidad_principal'])]; + }) + ) ->register('estado', new Implement\Repository\Mapper\Boolean('estado')); return $this->parseData(new Model\Venta\Propiedad(), $data, $map); } @@ -34,7 +41,7 @@ class Propiedad extends Ideal\Repository { $model->id = $this->saveNew( ['unidad_principal', 'estacionamientos', 'bodegas', 'estado'], - [null, + [$model->principal()?->id, implode(',', array_map(function(Model\Venta\Unidad $unidad) {return $unidad->id;}, $model->estacionamientos())), implode(',', array_map(function(Model\Venta\Unidad $unidad) {return $unidad->id;}, $model->bodegas())), 1] diff --git a/app/src/Service/Venta/Propiedad.php b/app/src/Service/Venta/Propiedad.php index 8ac1440..5c0b36c 100644 --- a/app/src/Service/Venta/Propiedad.php +++ b/app/src/Service/Venta/Propiedad.php @@ -36,6 +36,7 @@ class Propiedad extends Service }); try { $propiedad = $this->propiedadRepository->fetchVigenteByUnidad($unidades[0]->id); + $propiedad = $this->propiedadRepository->edit($propiedad, ['unidad_principal' => $unidades[0]->id]); } catch (EmptyResult) { $propiedad = $this->propiedadRepository->create([ 'unidad_principal' => $unidades[0]->id,