Se maneja el control de excepciones en ServiceUzyTCanton

parent 6cc58af6
......@@ -60,9 +60,13 @@ public class UzyTCantonController {
}
@DeleteMapping("/eliminar/{id}")
public ResponseEntity<Void> eliminar(@PathVariable String id) {
serviceUzyTCanton.eliminar(id);
return ResponseEntity.ok().build();
public ResponseEntity<String> eliminar(@PathVariable String id) {
boolean eliminado = serviceUzyTCanton.eliminar(id);
if (eliminado) {
return ResponseEntity.ok("El registro se eliminó exitosamente.");
} else {
return ResponseEntity.notFound().build();
}
}
}
package ec.edu.espe.movilidad.MovilidadWS.Controller;
import ec.edu.espe.movilidad.MovilidadWS.Dto.DtoUzyTavDocParti;
import ec.edu.espe.movilidad.MovilidadWS.Service.IServiceUzyTavDocParti.IServiceUzyTavDocParti;
import ec.edu.espe.movilidad.MovilidadWS.Service.UzyTavDocParti.IServiceUzyTavDocParti;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
......
......@@ -20,5 +20,5 @@ public interface IServiceUzyTCanton {
List<DtoUzyTCanton> findByIdDatosConProvincia(String id);
void eliminar(String id);
boolean eliminar(String id);
}
......@@ -10,9 +10,8 @@ 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;
import java.util.stream.Collectors;
@Service
public class ServiceUzyTCanton implements IServiceUzyTCanton {
......@@ -29,32 +28,43 @@ public class ServiceUzyTCanton implements IServiceUzyTCanton {
@Override
public DtoUzyTCanton ListarPorID(@PathVariable String id) {
ModelUzyTCanton entity = daoUzyTCanton.findById(id)
.orElseThrow(() -> new ResourceNotFoundException("No se encontró el registro con ID: " + id));
return mapper.entityToDto(entity);
try {
ModelUzyTCanton entity = daoUzyTCanton.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 canton con ID: " + id);
}
}
@Override
public List<DtoUzyTCanton> ListarRegistros() {
List<ModelUzyTCanton> entities = daoUzyTCanton.findAll();
return entities.stream()
.map(mapper::entityToDto) // Utilizar mapper::entityToDto en lugar de mapper::dtoToEntity
.collect(Collectors.toList());
try {
List<ModelUzyTCanton> entities = daoUzyTCanton.findAll();
return mapper.entitiesToDtos(entities);
} catch (Exception ex) {
throw new RuntimeException("Error al listar registros de canton: " + ex.getMessage());
}
}
@Override
public DtoUzyTCanton guardar(DtoUzyTCanton dtoUzyTCanton) {
ModelUzyTCanton entity = mapper.dtoToEntity(dtoUzyTCanton);
ModelUzyTCanton nuevoEntity = daoUzyTCanton.save(entity);
return mapper.entityToDto(nuevoEntity);
try {
ModelUzyTCanton entity = mapper.dtoToEntity(dtoUzyTCanton);
ModelUzyTCanton nuevoEntity = daoUzyTCanton.save(entity);
return mapper.entityToDto(nuevoEntity);
} catch (Exception ex) {
throw new RuntimeException("Error al guardar la provincia: " + ex.getMessage());
}
}
@Override
public DtoUzyTCanton editar(String id, DtoUzyTCanton dtoUzyTCanton) {
try {
ModelUzyTCanton entity = daoUzyTCanton.findById(id).get();
entity.setUzytcanton_id(dtoUzyTCanton.getUzytcanton_id());
ModelUzyTCanton entity = daoUzyTCanton.findById(id)
.orElseThrow(() -> new ResourceNotFoundException("Canton no encontrado con ID: " + id));
entity.setUzytcantonnombre(dtoUzyTCanton.getUzytcantonnombre());
entity.setUzytcantonbanner(dtoUzyTCanton.getUzytcantonbanner());
entity.setUzytcantonGrupo(dtoUzyTCanton.getUzytcantongrupo());
......@@ -62,26 +72,53 @@ public class ServiceUzyTCanton implements IServiceUzyTCanton {
entity.setUzytcantonLongitud(dtoUzyTCanton.getUzytcantonlongitud());
ModelUzyTCanton updatedEntity = daoUzyTCanton.save(entity);
return mapper.entityToDto(updatedEntity);
} catch (Exception e) {
} catch (ResourceNotFoundException ex) {
throw ex;
}
catch (Exception e) {
throw new ResourceNotFoundException("Error al editar el registro: " + e.getMessage());
}
}
@Override
public List<DtoUzyTCanton> findByIdDatosConProvincia(String id) {
List<ModelUzyTCanton> entities = daoUzyTCanton.findByIdDatosConProvincia(id);
return mapper.entitiesToDtos(entities);
try {
List<ModelUzyTCanton> entities = daoUzyTCanton.findByIdDatosConProvincia(id) ;
return mapper.entitiesToDtos(entities);
} catch (ResourceNotFoundException ex) {
throw ex;
} catch (Exception ex) { // Manejo de cualquier error en el servidor
throw new RuntimeException("Error al buscar los registros con el ID: " + id);
}
}
@Override
public DtoUzyTProvincia findCantonByCantonId(String uzytcanton_id) {
ModelUzyTProvincia entity = daoUzyTCanton.findCantonByCantonId(uzytcanton_id);
return mapperProvincia.entityToDto(entity);
try {
ModelUzyTProvincia entity = daoUzyTCanton.findCantonByCantonId(uzytcanton_id);
return mapperProvincia.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: " + uzytcanton_id);
}
}
@Override
public void eliminar(String id) {
ModelUzyTCanton dato = daoUzyTCanton.findById(id).get();
daoUzyTCanton.delete(dato);
public boolean eliminar(String id) {
try {
ModelUzyTCanton entity = daoUzyTCanton.findById(id).orElseThrow(() -> new ResourceNotFoundException("Canton no encontrado con ID: " + id));
if (entity != null) {
daoUzyTCanton.delete(entity);
return true;
}
return false;
} catch (ResourceNotFoundException ex) {
throw ex;
} catch (Exception ex) {
throw new RuntimeException("Error al eliminar el canton: " + ex.getMessage());
}
}
}
package ec.edu.espe.movilidad.MovilidadWS.Service.IServiceUzyTavDocParti;
package ec.edu.espe.movilidad.MovilidadWS.Service.UzyTavDocParti;
import ec.edu.espe.movilidad.MovilidadWS.Dto.DtoUzyTavDocParti;
import ec.edu.espe.movilidad.MovilidadWS.Model.ModelUzyTavDocParti;
import org.springframework.data.repository.query.Param;
import java.util.List;
......
package ec.edu.espe.movilidad.MovilidadWS.Service.IServiceUzyTavDocParti;
package ec.edu.espe.movilidad.MovilidadWS.Service.UzyTavDocParti;
import ec.edu.espe.movilidad.MovilidadWS.Dao.DaoUzyTavDocParti;
......
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