Se maneja el control de excepciones en ServiceUzyTCatalogosGenerales

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