@Override public DataAV traerAV(long idAV) throws NoExisteElAV { AV av = avDAO.traerAV(idAV); if (av == null) throw new exceptions.NoExisteElAV(); return av.getDataAV(); }
private String getTenant(long idAV) { AV av = avDAO.traerAV(idAV); if (av != null) { return av.getUsuarioCreador().getNick() + "_" + av.getNombreAV(); } else { return null; } }
@Override public void modificarColorAV(long idAV, String color) { try { AV av = avDAO.traerAV(idAV); if (av != null && !color.equals(av.getColor())) { av.setColor(color); avDAO.actualizarAV(av); } } catch (Exception e) { e.printStackTrace(); } }
public void compartirAV(long idAV, String nickname) { Usuario usu = usuarioDAO.buscarUsuario(nickname); AV av = avDAO.traerAV(idAV); List<Usuario> usuComp = av.getUsuariosCompartidos(); usuComp.add(usu); av.setUsuariosCompartidos(usuComp); List<AV> avsComp = usu.getAVcompartidos(); avsComp.add(av); usu.setAVcompartidos(avsComp); usuarioDAO.actualizarUsuario(usu); avDAO.actualizarAV(av); }
@Override public void eliminarAV(long idAV) throws Exception { AV av = avDAO.traerAV(idAV); String tenant = getTenant(idAV); if (tenant != null) { List<Usuario> usuarios = av.getUsuariosCompartidos(); for (Usuario usu : usuarios) { usu.removeAVCompartido(av); usuarioDAO.actualizarUsuario(usu); } Usuario usu = av.getUsuarioCreador(); usu.removeAV(av); usuarioDAO.actualizarUsuario(usu); avDAO.eliminarAV(tenant, av); } else { throw new Exception("No existe un AV con id: " + idAV); } }
@Override public void descompartirAV(long idAV, String nickUsuario) throws NoExisteElAV { AV av = avDAO.traerAV(idAV); if (av != null) { List<Usuario> compas = av.getUsuariosCompartidos(); Usuario compa = null; for (Usuario usu : compas) { if (usu.getNick().equals(nickUsuario)) { compa = usu; break; } } av.removeUsuarioCompartido(compa); compa.removeAVCompartido(av); avDAO.actualizarAV(av); usuarioDAO.actualizarUsuario(compa); } else { throw new exceptions.NoExisteElAV(); } }