Se maneja las excepciones en ServiceUzyTProvincia

parent 056583b7
......@@ -53,10 +53,13 @@ public class UzyTProvinciaController {
}
@DeleteMapping("/eliminar/{id}")
public ResponseEntity<Void> eliminar(@PathVariable String id) {
serviceUzyTProvincia.eliminar(id);
return ResponseEntity.ok().build();
public ResponseEntity<String> eliminar(@PathVariable String id) {
boolean eliminado = serviceUzyTProvincia.eliminar(id);
if (eliminado) {
return ResponseEntity.ok("El registro se eliminó exitosamente.");
} else {
return ResponseEntity.notFound().build();
}
}
}
......@@ -14,5 +14,5 @@ public interface IServiceUzyTProvincia {
DtoUzyTProvincia editar(String id, DtoUzyTProvincia dtoUzyTProvincia);
void eliminar(String id);
boolean eliminar(String id);
}
......@@ -21,24 +21,40 @@ public class ServiceUzyTProvincia implements IServiceUzyTProvincia {
@Override
public DtoUzyTProvincia ListarPorID(@PathVariable String id) {
ModelUzyTProvincia entity = daoUzyTProvincia.findById(id)
.orElseThrow(() -> new ResourceNotFoundException("No se encontró el registro con ID: " + id));
return mapper.entityToDto(entity);
try {
ModelUzyTProvincia entity = daoUzyTProvincia.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 la privincia con ID: " + id);
}
}
@Override
public DtoUzyTProvincia guardar(DtoUzyTProvincia dtoUzyTProvincia) {
ModelUzyTProvincia entity = mapper.dtoToEntity(dtoUzyTProvincia);
ModelUzyTProvincia nuevoEntity = daoUzyTProvincia.save(entity);
return mapper.entityToDto(nuevoEntity);
if(dtoUzyTProvincia.getUzytprovincia_nombre()==null){
throw new IllegalArgumentException("El nombre del la provincia no puede ser nulo.");
}
try {
ModelUzyTProvincia entity = mapper.dtoToEntity(dtoUzyTProvincia);
ModelUzyTProvincia nuevoEntity = daoUzyTProvincia.save(entity);
return mapper.entityToDto(nuevoEntity);
}catch (Exception ex) {
throw new RuntimeException("Error al guardar la provincia: " + ex.getMessage());
}
}
@Override
public List<DtoUzyTProvincia> ListarRegistros() {
List<ModelUzyTProvincia> entities = daoUzyTProvincia.findAll();
return mapper.entitiesToDtos(entities);
try {
List<ModelUzyTProvincia> entities = daoUzyTProvincia.findAll();
return mapper.entitiesToDtos(entities);
}catch (Exception ex) {
throw new RuntimeException("Error al listar registros de provincia: " + ex.getMessage());
}
}
@Override
......@@ -46,7 +62,6 @@ public class ServiceUzyTProvincia implements IServiceUzyTProvincia {
try {
ModelUzyTProvincia entity = daoUzyTProvincia.findById(id).get();
if (entity != null) {
entity.setUzytprovincia_nombre(dtoUzyTProvincia.getUzytprovincia_nombre());
entity.setUzytprovincia_cod_inen(dtoUzyTProvincia.getUzytprovincia_cod_inen());
entity.setUzytprovincia_region(dtoUzyTProvincia.getUzytprovincia_region());
......@@ -61,8 +76,20 @@ public class ServiceUzyTProvincia implements IServiceUzyTProvincia {
}
@Override
public void eliminar(String id) {
ModelUzyTProvincia dato = daoUzyTProvincia.findById(id).get();
daoUzyTProvincia.delete(dato);
public boolean eliminar(String id) {
try {
ModelUzyTProvincia entity = daoUzyTProvincia.findById(id).orElseThrow(() -> new ResourceNotFoundException("Provincia no encontrada con ID: " + id));
if (entity != null) {
daoUzyTProvincia.delete(entity);
return true;
}
return false;
} catch (ResourceNotFoundException ex) {
throw ex;
} catch (Exception ex) {
throw new RuntimeException("Error al eliminar la provincia: " + 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