diff --git a/UyTube_aplicacion/src/Presentacion/ListaDeReproduccion/frmAltaListaDeReproduccion.java b/UyTube_aplicacion/src/Presentacion/ListaDeReproduccion/frmAltaListaDeReproduccion.java index 3770bc13e738c967518031dcfc265ba3a88bcfd8..3a87b0672bc49e5607f99a09fbfbee78bb850ada 100644 --- a/UyTube_aplicacion/src/Presentacion/ListaDeReproduccion/frmAltaListaDeReproduccion.java +++ b/UyTube_aplicacion/src/Presentacion/ListaDeReproduccion/frmAltaListaDeReproduccion.java @@ -1,12 +1,11 @@ package Presentacion.ListaDeReproduccion; import Logica.DataType.*; -import Logica.Clases.*; import Logica.Enumerados.Privacidad; import Logica.Enumerados.TipoListaDeReproduccion; -import java.util.ArrayList; import Logica.Fabrica; import Logica.Interfaces.IAdmin; +import java.util.ArrayList; import javax.swing.DefaultListModel; import javax.swing.JOptionPane; @@ -185,7 +184,11 @@ public class frmAltaListaDeReproduccion extends javax.swing.JDialog { }// </editor-fold>//GEN-END:initComponents private void btnCancelarMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_btnCancelarMouseClicked - Sys.liberarMemoriaUsuario(); + try { + Sys.liberarMemoriaUsuario(); + } catch (Exception e) { + JOptionPane.showMessageDialog(null, "Ha ocurrido un error \n" + e.getMessage(), "Error", JOptionPane.ERROR_MESSAGE); + } dispose(); }//GEN-LAST:event_btnCancelarMouseClicked @@ -212,19 +215,8 @@ public class frmAltaListaDeReproduccion extends javax.swing.JDialog { }//GEN-LAST:event_rbPorDefectoItemStateChanged private void txtNombreKeyReleased(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_txtNombreKeyReleased - if (rbParticular.isSelected()) { - if (!txtNombre.getText().isEmpty() && !lstUsuarios.getSelectedValue().isEmpty()) { - btnAceptar.setEnabled(true); - } else { - btnAceptar.setEnabled(false); - } - } else { - if (!txtNombre.getText().isEmpty()) { - btnAceptar.setEnabled(true); - } else { - btnAceptar.setEnabled(false); - } - } + // mientras se escrbe el nombre de la lista + habilitarDeshabilitarBotonAceptar(); }//GEN-LAST:event_txtNombreKeyReleased private void btnAceptarActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnAceptarActionPerformed @@ -235,11 +227,6 @@ public class frmAltaListaDeReproduccion extends javax.swing.JDialog { JOptionPane.showMessageDialog(null, "El nombre de la lista de reproduccion no puede ser vacio", "Avertencia:", JOptionPane.WARNING_MESSAGE); return; } - if (lstUsuarios.getSelectedValue().isEmpty()) { - JOptionPane.showMessageDialog(null, "Deve seleccionar un usuario para continuar", "Avertencia:", JOptionPane.WARNING_MESSAGE); - return; - } - if (rbPrivada.isSelected() == true) { Priv = Privacidad.PRIVADO; } @@ -251,25 +238,36 @@ public class frmAltaListaDeReproduccion extends javax.swing.JDialog { if (rbParticular.isSelected() == true) { - lst = new DtListaDeReproduccion(ListaDeReproduccion.getNuevoId(), txtNombre.getText(), Priv, TipoListaDeReproduccion.PARTICULAR, lstCategorias.getSelectedValue()); + if (lstUsuarios.getSelectedValue().isEmpty()) { + JOptionPane.showMessageDialog(null, "Debe seleccionar un usuario para continuar", "Avertencia:", JOptionPane.WARNING_MESSAGE); + return; + } + Sys.seleccionarUsuario(lstUsuarios.getSelectedValue()); + + if (Sys.obtenerCanalDeUsuario().getPrivacidad() == Privacidad.PRIVADO && rbPublica.isSelected() == true) { + JOptionPane.showMessageDialog(null, "Un canal privado no puede tener una lista de reproducion publica", "Avertencia:", JOptionPane.WARNING_MESSAGE); + return; + } + + lst = new DtListaDeReproduccion(0, txtNombre.getText(), Priv, TipoListaDeReproduccion.PARTICULAR, lstCategorias.getSelectedValue()); + if (!Sys.validarNuevaListaParticular(lst.getNombre())) { - JOptionPane.showMessageDialog(null, "El nombre para la lista de reproduccion ya esta usado", "Error:", JOptionPane.WARNING_MESSAGE); + JOptionPane.showMessageDialog(null, "El usuario ya posee una lista de reproduccion con ese nombre", "Avertencia:", JOptionPane.WARNING_MESSAGE); return; } Sys.altaListaDeReproduccionParticular(lst); JOptionPane.showMessageDialog(null, "Lista particular creada", "Informacion:", JOptionPane.INFORMATION_MESSAGE); - } if (rbPorDefecto.isSelected() == true) { - lst = new DtListaDeReproduccion(ListaDeReproduccion.getNuevoId(), txtNombre.getText(), Privacidad.PRIVADO, TipoListaDeReproduccion.POR_DEFECTO, "UNDEFINED"); + lst = new DtListaDeReproduccion(0, txtNombre.getText(), Privacidad.PRIVADO, TipoListaDeReproduccion.POR_DEFECTO, "UNDEFINED"); if (!Sys.validarNuevaListaPorDefecto(lst.getNombre())) { - JOptionPane.showMessageDialog(null, "El nombre para la lista de reproduccion ya esta usado", "Error:", JOptionPane.WARNING_MESSAGE); + JOptionPane.showMessageDialog(null, "El nombre para la lista de reproduccion ya esta usado", "Avertencia:", JOptionPane.WARNING_MESSAGE); return; } @@ -279,34 +277,40 @@ public class frmAltaListaDeReproduccion extends javax.swing.JDialog { } catch (Exception e) { JOptionPane.showMessageDialog(null, "Ha ocurrido un error \n" + e.getMessage(), "Error", JOptionPane.ERROR_MESSAGE); } + try { Sys.liberarMemoriaUsuario(); txtNombre.setText(""); dispose(); } catch (Exception e) { - JOptionPane.showMessageDialog(null, e.getMessage(), "Error:", JOptionPane.ERROR_MESSAGE); + JOptionPane.showMessageDialog(null, "Ha ocurrido un error \n" + e.getMessage(), "Error", JOptionPane.ERROR_MESSAGE); } - - Sys.liberarMemoriaUsuario(); - dispose(); }//GEN-LAST:event_btnAceptarActionPerformed private void lstUsuariosValueChanged(javax.swing.event.ListSelectionEvent evt) {//GEN-FIRST:event_lstUsuariosValueChanged + // al seleccionar un usuario + habilitarDeshabilitarBotonAceptar(); + }//GEN-LAST:event_lstUsuariosValueChanged + + private void habilitarDeshabilitarBotonAceptar(){ + // si se selecciono para crear lista particular if (rbParticular.isSelected()) { - if (!txtNombre.getText().isEmpty() && !lstUsuarios.getSelectedValue().isEmpty()) { - btnAceptar.setEnabled(true); - } else { + if (lstUsuarios.getSelectedIndex() < 0 || lstCategorias.getSelectedIndex() < 0 || txtNombre.getText().isEmpty()) { btnAceptar.setEnabled(false); + return; } - } else { - if (!txtNombre.getText().isEmpty()) { - btnAceptar.setEnabled(true); - } else { + btnAceptar.setEnabled(true); + } else { // si se selecciono para crear lista particular + if (txtNombre.getText().isEmpty()) { btnAceptar.setEnabled(false); + return; } + btnAceptar.setEnabled(true); } - }//GEN-LAST:event_lstUsuariosValueChanged - + } + + + // Variables declaration - do not modify//GEN-BEGIN:variables private javax.swing.ButtonGroup GrupoPublicoPrivado; private javax.swing.ButtonGroup GrupoTipo; diff --git a/UyTube_aplicacion/src/Presentacion/ListaDeReproduccion/frmConsultaListaDeReproduccion.java b/UyTube_aplicacion/src/Presentacion/ListaDeReproduccion/frmConsultaListaDeReproduccion.java index ff59202583cdf78030bc59003c2b943fff953023..1984a7349640fdb5c18075a507c90ea58771a204 100644 --- a/UyTube_aplicacion/src/Presentacion/ListaDeReproduccion/frmConsultaListaDeReproduccion.java +++ b/UyTube_aplicacion/src/Presentacion/ListaDeReproduccion/frmConsultaListaDeReproduccion.java @@ -258,7 +258,9 @@ public class frmConsultaListaDeReproduccion extends javax.swing.JDialog { int indexSeleccionado = lstVideos.getSelectedIndex(); int idVideo = Listavideos.get(indexSeleccionado).getId(); - new frmConsultaVideo(this, true, lstUsuarios.getSelectedValue(), idVideo).setVisible(true); + DtUsuario Usu = Sys.obtenerPropietarioDeVideo(idVideo); + + new frmConsultaVideo(this, true, Usu.getNickname(), idVideo).setVisible(true); }//GEN-LAST:event_lstVideosMouseClicked // Variables declaration - do not modify//GEN-BEGIN:variables