Se maneja las excepciones en ServiceUzyTProvincia

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