Se maneja el control de excepciones en ServiceUzyTavZonaDetalle

parent 7f8d3adb
......@@ -61,9 +61,13 @@ public class UzyTavZonaDetalleController {
}
@DeleteMapping("/eliminar/{id}")
public ResponseEntity<Void> eliminar(@PathVariable Long id) {
serviceUzyTavZonaDetalle.eliminar(id);
return ResponseEntity.ok().build();
public ResponseEntity<String> eliminar(@PathVariable Long id) {
boolean eliminado = serviceUzyTavZonaDetalle.eliminar(id);
if (eliminado) {
return ResponseEntity.ok("El registro se eliminó exitosamente.");
} else {
return ResponseEntity.notFound().build();
}
}
}
......@@ -9,7 +9,6 @@ import ec.edu.espe.movilidad.MovilidadWS.Mapper.Components_Class.UzyTProvinciaMa
import ec.edu.espe.movilidad.MovilidadWS.Model.ModelUzyTCanton;
import ec.edu.espe.movilidad.MovilidadWS.Model.ModelUzyTProvincia;
import org.springframework.stereotype.Service;
import org.springframework.web.bind.annotation.PathVariable;
import java.util.List;
......@@ -27,7 +26,7 @@ public class ServiceUzyTCanton implements IServiceUzyTCanton {
}
@Override
public DtoUzyTCanton ListarPorID(@PathVariable String id) {
public DtoUzyTCanton ListarPorID(String id) {
try {
ModelUzyTCanton entity = daoUzyTCanton.findById(id)
.orElseThrow(() -> new ResourceNotFoundException("No se encontró el registro con ID: " + id));
......
......@@ -5,7 +5,6 @@ import ec.edu.espe.movilidad.MovilidadWS.Exceptions.ResourceNotFoundException;
import ec.edu.espe.movilidad.MovilidadWS.Mapper.Components_Class.UzyTCatalogosGeneralesMapper;
import ec.edu.espe.movilidad.MovilidadWS.Model.ModelUzyTCatalogosGenerales;
import org.springframework.stereotype.Service;
import org.springframework.web.bind.annotation.PathVariable;
import java.util.List;
@Service
......@@ -20,7 +19,7 @@ public class ServiceUzyTCatalogosGenerales implements IServiceUzyTCatalogosGener
}
@Override
public DtoUzyTCatalogosGenerales ListarPorID(@PathVariable Long id) {
public DtoUzyTCatalogosGenerales ListarPorID(Long id) {
if (id <= 0) {
throw new IllegalArgumentException("El parámetro 'id' debe ser un valor positivo.");
}
......
......@@ -6,7 +6,7 @@ import ec.edu.espe.movilidad.MovilidadWS.Exceptions.ResourceNotFoundException;
import ec.edu.espe.movilidad.MovilidadWS.Mapper.Components_Class.UzyTClasificadorPresupMapper;
import ec.edu.espe.movilidad.MovilidadWS.Model.ModelUzyTClasificadorPresup;
import org.springframework.stereotype.Service;
import org.springframework.web.bind.annotation.PathVariable;
import java.util.List;
@Service
......@@ -21,7 +21,7 @@ public class ServiceUzyTClasificadorPresup implements IServiceUzyTClasificadorPr
}
@Override
public DtoUzyTClasificadorPresup ListarPorID(@PathVariable Long id) {
public DtoUzyTClasificadorPresup ListarPorID(Long id) {
if (id <= 0) {
throw new IllegalArgumentException("El parámetro 'id' debe ser un valor positivo.");
}
......
......@@ -20,6 +20,6 @@ public interface IServiceUzyTavZonaDetalle {
DtoUzyTavZonaDetalle editar(Long id, DtoUzyTavZonaDetalle dtoUzyTavZonaDetalle);
void eliminar(Long id);
boolean eliminar(Long id);
}
......@@ -7,7 +7,6 @@ import ec.edu.espe.movilidad.MovilidadWS.Exceptions.ResourceNotFoundException;
import ec.edu.espe.movilidad.MovilidadWS.Mapper.Components_Class.UzyTavZonaDetalleMapper;
import ec.edu.espe.movilidad.MovilidadWS.Model.ModelUzyTavZonaDetalle;
import org.springframework.stereotype.Service;
import org.springframework.web.bind.annotation.PathVariable;
import java.util.List;
......@@ -26,45 +25,80 @@ public class ServiceUzyTavZonaDetalle implements IServiceUzyTavZonaDetalle {
}
@Override
public DtoUzyTavZonaDetalle ListarPorID(@PathVariable Long id) {
ModelUzyTavZonaDetalle entity = daoUzyTavZonaDetalle.findById(id)
.orElseThrow(() -> new ResourceNotFoundException("No se encontró el registro con ID: " + id));
return mapper.entityToDto(entity);
public DtoUzyTavZonaDetalle ListarPorID(Long id) {
if (id <= 0) {
throw new IllegalArgumentException("El parámetro 'id' debe ser un valor positivo.");
}
try {
ModelUzyTavZonaDetalle entity = daoUzyTavZonaDetalle.findById(id)
.orElseThrow(() -> new ResourceNotFoundException("No se encontró el registro con ID: " + id));
return mapper.entityToDto(entity);
} catch (ResourceNotFoundException ex) {
throw ex;
} catch (Exception ex) { // Manejo de cualquier error en el servidor
throw new RuntimeException("Error al buscar el registro con ID: " + id);
}
}
@Override
public List<DtoUzyTavZonaDetalle> ListarRegistros() {
List<ModelUzyTavZonaDetalle> entities = daoUzyTavZonaDetalle.findAll();
return mapper.entitiesToDtos(entities);
try {
List<ModelUzyTavZonaDetalle> entities = daoUzyTavZonaDetalle.findAll();
return mapper.entitiesToDtos(entities);
} catch (Exception ex) {
throw new RuntimeException("Error al listar los registros: " + ex.getMessage());
}
}
@Override
public List<DtoUzyTavZonaDetalle> ListarRegistrosRelacionadosConPrograma(Long programaId) {
List<ModelUzyTavZonaDetalle> entities = daoUzyTavZonaDetalle.obtenerZonaDetallePorPrograma(programaId);
return mapper.entitiesToDtos(entities);
if (programaId <= 0) {
throw new IllegalArgumentException("El parámetro 'id' debe ser un valor positivo.");
}
try {
List<ModelUzyTavZonaDetalle> entities = daoUzyTavZonaDetalle.obtenerZonaDetallePorPrograma(programaId);
return mapper.entitiesToDtos(entities);
} catch (Exception ex) {
throw new RuntimeException("Error al listar los registros: " + ex.getMessage());
}
}
@Override
public List<DtoUzyTavZonaDetalle> ListarRegistrosRelacionadosConProyec(Long proyecID) {
List<ModelUzyTavZonaDetalle> entities = daoUzyTavZonaDetalle.obtenerZonaDetallePorProyec(proyecID);
return mapper.entitiesToDtos(entities);
if (proyecID <= 0) {
throw new IllegalArgumentException("El parámetro 'id' debe ser un valor positivo.");
}
try {
List<ModelUzyTavZonaDetalle> entities = daoUzyTavZonaDetalle.obtenerZonaDetallePorProyec(proyecID);
return mapper.entitiesToDtos(entities);
} catch (Exception ex) {
throw new RuntimeException("Error al listar los registros: " + ex.getMessage());
}
}
@Override
public DtoUzyTavZonaDetalle guardar(DtoUzyTavZonaDetalle dtoUzyTavZonaDetalle) {
ModelUzyTavZonaDetalle entity = mapper.dtoToEntity(dtoUzyTavZonaDetalle);
ModelUzyTavZonaDetalle nuevoEntity = daoUzyTavZonaDetalle.save(entity);
return mapper.entityToDto(nuevoEntity);
try {
ModelUzyTavZonaDetalle entity = mapper.dtoToEntity(dtoUzyTavZonaDetalle);
ModelUzyTavZonaDetalle nuevoEntity = daoUzyTavZonaDetalle.save(entity);
return mapper.entityToDto(nuevoEntity);
}
catch (Exception ex) {
throw new RuntimeException("Error al guardar el registro: " + ex.getMessage());
}
}
@Override
public DtoUzyTavZonaDetalle editar(Long id, DtoUzyTavZonaDetalle dtoUzyTavZonaDetalle) {
if (id <= 0) {
throw new IllegalArgumentException("El ID del registro debe ser válido y mayor que cero.");
}
try {
ModelUzyTavZonaDetalle entity = daoUzyTavZonaDetalle.findById(id).get();
entity.setUzytavzona_detalle_id(dtoUzyTavZonaDetalle.getUzytavzona_detalle_id());
ModelUzyTavZonaDetalle entity = daoUzyTavZonaDetalle.findById(id)
.orElseThrow(() -> new ResourceNotFoundException("No se encontró el registro con ID: " + id));
entity.setUzytavzona_objetivos(dtoUzyTavZonaDetalle.getUzytavzona_objetivos());
ModelUzyTavZonaDetalle updatedEntity = daoUzyTavZonaDetalle.save(entity);
......@@ -75,8 +109,22 @@ public class ServiceUzyTavZonaDetalle implements IServiceUzyTavZonaDetalle {
}
@Override
public void eliminar(Long id) {
ModelUzyTavZonaDetalle dato = daoUzyTavZonaDetalle.findById(id).get();
daoUzyTavZonaDetalle.delete(dato);
public boolean eliminar(Long id) {
if (id == null || id <= 0) {
throw new IllegalArgumentException("El ID del registro debe ser válido y mayor que cero.");
}
try {
ModelUzyTavZonaDetalle entity = daoUzyTavZonaDetalle.findById(id).orElseThrow(() -> new ResourceNotFoundException("Registro no encontrado con ID: " + id));
if (entity != null) {
daoUzyTavZonaDetalle.delete(entity);
return true;
}
return false;
} catch (ResourceNotFoundException ex) {
throw ex;
} catch (Exception ex) {
throw new RuntimeException("Error al eliminar el registro: " + ex.getMessage());
}
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment