Se maneja el control de excepciones en ServiceUzyTCatalogosGenerales

parent 36f97a75
...@@ -21,32 +21,58 @@ public class ServiceUzyTCatalogosGenerales implements IServiceUzyTCatalogosGener ...@@ -21,32 +21,58 @@ public class ServiceUzyTCatalogosGenerales implements IServiceUzyTCatalogosGener
@Override @Override
public DtoUzyTCatalogosGenerales ListarPorID(@PathVariable Long id) { public DtoUzyTCatalogosGenerales ListarPorID(@PathVariable Long id) {
ModelUzyTCatalogosGenerales entity = daoUzyTCatalogosGenerales.findById(id) if (id <= 0) {
.orElseThrow(() -> new ResourceNotFoundException("No se encontró el registro con ID: " + id)); throw new IllegalArgumentException("El parámetro 'id' debe ser un valor positivo.");
return mapper.entityToDto(entity); }
try {
ModelUzyTCatalogosGenerales entity = daoUzyTCatalogosGenerales.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 @Override
public List<DtoUzyTCatalogosGenerales> ListarRegistros() { public List<DtoUzyTCatalogosGenerales> ListarRegistros() {
List<ModelUzyTCatalogosGenerales> entities = daoUzyTCatalogosGenerales.findAll(); try {
return mapper.entitiesToDtos(entities); List<ModelUzyTCatalogosGenerales> entities = daoUzyTCatalogosGenerales.findAll();
return mapper.entitiesToDtos(entities);
} catch (Exception ex) {
throw new RuntimeException("Error al listar los registros: " + ex.getMessage());
}
} }
@Override @Override
public DtoUzyTCatalogosGenerales guardar(DtoUzyTCatalogosGenerales dtoUzyTCatalogosGenerales) { public DtoUzyTCatalogosGenerales guardar(DtoUzyTCatalogosGenerales dtoUzyTCatalogosGenerales) {
ModelUzyTCatalogosGenerales entity = mapper.dtoToEntity(dtoUzyTCatalogosGenerales); try {
ModelUzyTCatalogosGenerales nuevoEntity = daoUzyTCatalogosGenerales.save(entity); ModelUzyTCatalogosGenerales entity = mapper.dtoToEntity(dtoUzyTCatalogosGenerales);
return mapper.entityToDto(nuevoEntity); ModelUzyTCatalogosGenerales nuevoEntity = daoUzyTCatalogosGenerales.save(entity);
return mapper.entityToDto(nuevoEntity);
}
catch (Exception ex) {
throw new RuntimeException("Error al guardar el registro: " + ex.getMessage());
}
} }
@Override @Override
public DtoUzyTCatalogosGenerales editar(Long id, DtoUzyTCatalogosGenerales dtoUzyTCatalogosGenerales) { public DtoUzyTCatalogosGenerales editar(Long id, DtoUzyTCatalogosGenerales dtoUzyTCatalogosGenerales) {
if (id <= 0) {
throw new IllegalArgumentException("El ID del registro debe ser válido y mayor que cero.");
}
try { try {
ModelUzyTCatalogosGenerales entity = daoUzyTCatalogosGenerales.findById(id).get(); ModelUzyTCatalogosGenerales entity = daoUzyTCatalogosGenerales.findById(id).get();
if (entity != null) { if (entity != null) {
entity.setUzytcata_gen_tipo(dtoUzyTCatalogosGenerales.getUzytcata_gen_tipo()); if(dtoUzyTCatalogosGenerales.getUzytcata_gen_tipo()!=null){
entity.setUzytcata_gen_nombre(dtoUzyTCatalogosGenerales.getUzytcata_gen_nombre()); entity.setUzytcata_gen_tipo(dtoUzyTCatalogosGenerales.getUzytcata_gen_tipo());
entity.setUzytcata_gen_estado(dtoUzyTCatalogosGenerales.getUzytcata_gen_estado()); }
if(dtoUzyTCatalogosGenerales.getUzytcata_gen_nombre()!=null){
entity.setUzytcata_gen_nombre(dtoUzyTCatalogosGenerales.getUzytcata_gen_nombre());
}
if(dtoUzyTCatalogosGenerales.getUzytcata_gen_estado()!=null){
entity.setUzytcata_gen_estado(dtoUzyTCatalogosGenerales.getUzytcata_gen_estado());
}
ModelUzyTCatalogosGenerales updatedEntity = daoUzyTCatalogosGenerales.save(entity); ModelUzyTCatalogosGenerales updatedEntity = daoUzyTCatalogosGenerales.save(entity);
return mapper.entityToDto(updatedEntity); return mapper.entityToDto(updatedEntity);
...@@ -60,11 +86,21 @@ public class ServiceUzyTCatalogosGenerales implements IServiceUzyTCatalogosGener ...@@ -60,11 +86,21 @@ public class ServiceUzyTCatalogosGenerales implements IServiceUzyTCatalogosGener
@Override @Override
public boolean eliminar(Long id) { public boolean eliminar(Long id) {
ModelUzyTCatalogosGenerales entity = daoUzyTCatalogosGenerales.findById(id).orElse(null); if (id == null || id <= 0) {
if (entity != null) { throw new IllegalArgumentException("El ID del registro debe ser válido y mayor que cero.");
daoUzyTCatalogosGenerales.delete(entity); }
return true; try {
ModelUzyTCatalogosGenerales entity = daoUzyTCatalogosGenerales.findById(id).orElseThrow(() -> new ResourceNotFoundException("Registro no encontrado con ID: " + id));
if (entity != null) {
daoUzyTCatalogosGenerales.delete(entity);
return true;
}
return false;
} catch (ResourceNotFoundException ex) {
throw ex;
} catch (Exception ex) {
throw new RuntimeException("Error al eliminar el registro: " + ex.getMessage());
} }
return false;
} }
} }
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