Proveedores en movimientos
This commit is contained in:
@ -42,14 +42,16 @@ class Proveedor extends Ideal\Service
|
||||
$filteredData = $this->proveedorRepository->filterData($data);
|
||||
try {
|
||||
$proveedor = $this->process($this->proveedorRepository->fetchByNombre($filteredData['nombre']));
|
||||
if ($proveedor->contacto->rut !== $data['contacto']['rut']) {
|
||||
if (!empty($data['contacto']['rut']) and $proveedor->contacto->rut !== $data['contacto']['rut']) {
|
||||
$contacto = $this->contactoService->add($data['contacto']);
|
||||
return $this->proveedorRepository->edit($proveedor, ['contacto_rut' => $contacto->rut]);
|
||||
}
|
||||
return $proveedor;
|
||||
} catch (Implement\Exception\EmptyResult) {
|
||||
$contacto = $this->contactoService->add($data['contacto']);
|
||||
$filteredData['contacto_rut'] = $contacto->rut;
|
||||
if (!empty($data['contacto']['rut'])) {
|
||||
$contacto = $this->contactoService->add($data['contacto']);
|
||||
$filteredData['contacto_rut'] = $contacto->rut;
|
||||
}
|
||||
$proveedor = $this->proveedorRepository->create($filteredData);
|
||||
return $this->process($this->proveedorRepository->save($proveedor));
|
||||
}
|
||||
@ -61,12 +63,15 @@ class Proveedor extends Ideal\Service
|
||||
*/
|
||||
public function edit(Model\Inmobiliaria\Proveedor $proveedor, array $data): Model\Inmobiliaria\Proveedor
|
||||
{
|
||||
$filteredData = $this->proveedorRepository->filterData($data);
|
||||
try {
|
||||
if ($proveedor->contacto->rut !== $data['contacto']['rut']) {
|
||||
if (!empty($data['contacto']['rut'])) {
|
||||
$contacto = $this->contactoService->getById($data['contacto']['rut']);
|
||||
$this->contactoService->edit($contacto, $data['contacto']);
|
||||
$contacto = $this->contactoService->edit($contacto, $data['contacto']);
|
||||
$data['contacto_rut'] = $contacto->rut;
|
||||
} elseif ($proveedor->contacto !== null) {
|
||||
$data['contacto_rut'] = $proveedor->contacto->rut;
|
||||
}
|
||||
$filteredData = $this->proveedorRepository->filterData($data);
|
||||
return $this->process($this->proveedorRepository->edit($proveedor, $filteredData));
|
||||
} catch (Implement\Exception\EmptyResult) {
|
||||
return $proveedor;
|
||||
|
Reference in New Issue
Block a user