Propiedad con unidad_principal

This commit is contained in:
Juan Pablo Vial
2024-06-07 17:16:58 -04:00
parent fa978728ce
commit b27a6fab33
2 changed files with 9 additions and 1 deletions

View File

@ -18,6 +18,13 @@ class Propiedad extends Ideal\Repository
public function create(?array $data = null): Model\Venta\Propiedad public function create(?array $data = null): Model\Venta\Propiedad
{ {
$map = (new Implement\Repository\MapperParser()) $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')); ->register('estado', new Implement\Repository\Mapper\Boolean('estado'));
return $this->parseData(new Model\Venta\Propiedad(), $data, $map); return $this->parseData(new Model\Venta\Propiedad(), $data, $map);
} }
@ -34,7 +41,7 @@ class Propiedad extends Ideal\Repository
{ {
$model->id = $this->saveNew( $model->id = $this->saveNew(
['unidad_principal', 'estacionamientos', 'bodegas', 'estado'], ['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->estacionamientos())),
implode(',', array_map(function(Model\Venta\Unidad $unidad) {return $unidad->id;}, $model->bodegas())), implode(',', array_map(function(Model\Venta\Unidad $unidad) {return $unidad->id;}, $model->bodegas())),
1] 1]

View File

@ -36,6 +36,7 @@ class Propiedad extends Service
}); });
try { try {
$propiedad = $this->propiedadRepository->fetchVigenteByUnidad($unidades[0]->id); $propiedad = $this->propiedadRepository->fetchVigenteByUnidad($unidades[0]->id);
$propiedad = $this->propiedadRepository->edit($propiedad, ['unidad_principal' => $unidades[0]->id]);
} catch (EmptyResult) { } catch (EmptyResult) {
$propiedad = $this->propiedadRepository->create([ $propiedad = $this->propiedadRepository->create([
'unidad_principal' => $unidades[0]->id, 'unidad_principal' => $unidades[0]->id,