Se maneja el control de excepciones en ServiceUzyTCanton

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