Se modifica el método de editar en ServiceUzyTavPresup

parent 25ca1834
......@@ -3,6 +3,7 @@ package ec.edu.espe.movilidad.MovilidadWS.Service.UzyTavPresup;
import ec.edu.espe.movilidad.MovilidadWS.Dao.DaoUzyTavPresup;
import ec.edu.espe.movilidad.MovilidadWS.Dto.DtoUzyTavPresup;
import ec.edu.espe.movilidad.MovilidadWS.Exceptions.InvalidArgumentException;
import ec.edu.espe.movilidad.MovilidadWS.Exceptions.ResourceNotFoundException;
import ec.edu.espe.movilidad.MovilidadWS.Mapper.Components_Class.UzyTavPresupMapper;
import ec.edu.espe.movilidad.MovilidadWS.Model.ModelUzyTavPresup;
......@@ -12,6 +13,8 @@ import java.util.List;
@Service
public class ServiceUzyTavPresup implements IServiceUzyTavPresup {
private static final String MESSAGE = "Usuario no encontrado con ID: ";
private final DaoUzyTavPresup daoUzyTavPresup;
private final UzyTavPresupMapper mapper;
......@@ -67,26 +70,44 @@ public class ServiceUzyTavPresup implements IServiceUzyTavPresup {
@Override
public DtoUzyTavPresup editar(Long id, DtoUzyTavPresup dtoUzyTavPresup) {
if (id <= 0) {
throw new InvalidArgumentException("El ID del usuario debe ser válido y mayor que cero.");
}
try {
ModelUzyTavPresup entity = daoUzyTavPresup.findById(id).get();
if (entity != null) {
ModelUzyTavPresup entity = daoUzyTavPresup.findById(id)
.orElseThrow(() -> new ResourceNotFoundException(MESSAGE + id));
if (dtoUzyTavPresup.getUzytavpresup_valor() != null) {
entity.setUzytavpresup_valor(dtoUzyTavPresup.getUzytavpresup_valor());
}
if (dtoUzyTavPresup.getUzytavpresup_esptecnic() != null) {
entity.setUzytavpresup_esptecnic(dtoUzyTavPresup.getUzytavpresup_esptecnic());
}
if (dtoUzyTavPresup.getUzytavpresup_tipogasto() != null) {
entity.setUzytavpresup_tipogasto(dtoUzyTavPresup.getUzytavpresup_tipogasto());
}
if (dtoUzyTavPresup.getUzytavpresup_cantidad() != null) {
entity.setUzytavpresup_cantidad(dtoUzyTavPresup.getUzytavpresup_cantidad());
}
if (dtoUzyTavPresup.getUzytavpresup_bien_servicio() != null) {
entity.setUzytavpresup_bien_servicio(dtoUzyTavPresup.getUzytavpresup_bien_servicio());
}
if (dtoUzyTavPresup.getUzytavpresup_tipo() != null) {
entity.setUzytavpresup_tipo(dtoUzyTavPresup.getUzytavpresup_tipo());
}
if (dtoUzyTavPresup.getUzytavpresup_total_ejec() != null) {
entity.setUzytavpresup_total_ejec(dtoUzyTavPresup.getUzytavpresup_total_ejec());
}
if (dtoUzyTavPresup.getUzytavpresup_total_ejec() != null) {
entity.setUzytavpresup_valoranual(dtoUzyTavPresup.getUzytavpresup_valoranual());
}
ModelUzyTavPresup updatedEntity = daoUzyTavPresup.save(entity);
return mapper.entityToDto(updatedEntity);
} else {
throw new ResourceNotFoundException("No se encontró el registro con ID: " + id);
}
} catch (Exception e) {
throw new ResourceNotFoundException("Error al editar el registro: " + e.getMessage());
} catch (ResourceNotFoundException ex) {
throw ex;
} catch (Exception ex) {
throw new RuntimeException("Error al editar el registro -> " + 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