Auth, Login, Home, Venta->Listados->Precios
This commit is contained in:
54
app/src/Repository/Proyecto/ProyectoTipoUnidad.php
Normal file
54
app/src/Repository/Proyecto/ProyectoTipoUnidad.php
Normal file
@ -0,0 +1,54 @@
|
||||
<?php
|
||||
namespace Incoviba\Repository\Proyecto;
|
||||
|
||||
use Incoviba\Common\Define;
|
||||
use Incoviba\Common\Ideal;
|
||||
use Incoviba\Model;
|
||||
use Incoviba\Repository;
|
||||
|
||||
class ProyectoTipoUnidad extends Ideal\Repository
|
||||
{
|
||||
public function __construct(Define\Connection $connection, protected Repository\Proyecto $proyectoRepository, protected Repository\Venta\TipoUnidad $tipoUnidadRepository)
|
||||
{
|
||||
parent::__construct($connection);
|
||||
$this->setTable('proyecto_tipo_unidad');
|
||||
}
|
||||
|
||||
public function create(?array $data = null): Define\Model
|
||||
{
|
||||
$map = [
|
||||
'proyecto' => [
|
||||
'function' => function($data) {
|
||||
return $this->proyectoRepository->fetchById($data['proyecto']);
|
||||
}
|
||||
],
|
||||
'tipo' => [
|
||||
'property' => 'tipoUnidad',
|
||||
'function' => function($data) {
|
||||
return $this->tipoUnidadRepository->fetchById($data['tipo']);
|
||||
}
|
||||
],
|
||||
'nombre' => [],
|
||||
'abreviacion' => [],
|
||||
'm2' => [
|
||||
'property' => 'util'
|
||||
],
|
||||
'logia' => [],
|
||||
'terraza' => [],
|
||||
'descripcion' => []
|
||||
];
|
||||
return $this->parseData(new Model\Proyecto\ProyectoTipoUnidad(), $data, $map);
|
||||
}
|
||||
public function save(Define\Model $model): Define\Model
|
||||
{
|
||||
$model->id = $this->saveNew(
|
||||
['proyecto', 'tipo', 'nombre', 'abreviacion', 'm2', 'logia', 'terraza', 'descripcion'],
|
||||
[$model->proyecto->id, $model->tipoUnidad->id, $model->nombre, $model->abreviacion, $model->util, $model->logia, $model->terraza, $model->descripcion]
|
||||
);
|
||||
return $model;
|
||||
}
|
||||
public function edit(Define\Model $model, array $new_data): Define\Model
|
||||
{
|
||||
return $this->update($model, ['proyecto', 'tipo', 'nombre', 'abreviacion', 'util', 'logia', 'terraza', 'descripcion'], $new_data);
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user