示例#1
0
        private void botonCancelar_Click(object sender, EventArgs e)
        {
            visualizarAlbum nuevo = new visualizarAlbum(ref albumAEditar);

            nuevo.Show();
            Close();
        }
示例#2
0
        private void botonOkDoomer_Click(object sender, EventArgs e)
        {
            try//si está vacío pues guarda vacío
            {
                Log.Instance.ImprimirMensaje("Intentando guardar", TipoMensaje.Info);
                albumAEditar.artista = textBoxArtista.Text;
                albumAEditar.nombre  = textBoxTitulo.Text;
                albumAEditar.year    = Convert.ToInt16(textBoxAño.Text);
                string gn = comboBoxGeneros.SelectedItem.ToString();
                Genero g  = Programa.generos[Programa.findGeneroTraducido(gn)];
                albumAEditar.genero   = g;
                albumAEditar.caratula = labelRuta.Text;
                TimeSpan nuevaDuracion = new TimeSpan();
                albumAEditar.DirectorioSonido = labelDirectorioActual.Text;
                string[] uriSpotify = textBoxURISpotify.Text.Split(':');
                if (uriSpotify.Length == 3)
                {
                    albumAEditar.IdSpotify = (uriSpotify[2]);
                }
                else
                {
                    albumAEditar.IdSpotify = (textBoxURISpotify.Text);
                }
                foreach (Cancion c in albumAEditar.canciones)
                {
                    if (!c.Bonus)
                    {
                        nuevaDuracion += c.duracion;
                    }
                }
                albumAEditar.duracion = nuevaDuracion;
            }
            catch (NullReferenceException)
            {
                Log.Instance.ImprimirMensaje("Algún campo está vacío", TipoMensaje.Advertencia);
                MessageBox.Show(Programa.textosLocal.GetString("error_vacio1"));
            }

            catch (FormatException)
            {
                Log.Instance.ImprimirMensaje("Formato incorrecto, no se guardará nada.", TipoMensaje.Advertencia);
                MessageBox.Show(Programa.textosLocal.GetString("error_formato"));
                //throw;
            }
            catch (IndexOutOfRangeException)
            {
                Log.Instance.ImprimirMensaje("Formato incorrecto, no se guardará nada.", TipoMensaje.Advertencia);
                MessageBox.Show(Programa.textosLocal.GetString("error_formato"));
            }
            visualizarAlbum nuevo = new visualizarAlbum(ref albumAEditar);

            nuevo.Show();
            Programa.refrescarVista();
            Close();
            Log.Instance.ImprimirMensaje("Guardado sin problema", TipoMensaje.Correcto);
        }
示例#3
0
        private void setBonusToolStripMenuItem_Click(object sender, EventArgs e)
        {
            foreach (ListViewItem item in vistaCanciones.SelectedItems)
            {
                Cancion c = albumAVisualizar.canciones[Convert.ToInt32(item.SubItems[0].Text) - 1];
                albumAVisualizar.duracion -= c.duracion;
                c.Bonus = true;
            }
            visualizarAlbum vNew = new visualizarAlbum(ref albumAVisualizar);

            Dispose();
            Close();
            vNew.Show();
        }
示例#4
0
        private void buttonOK_Click(object sender, EventArgs e)
        {
            album.ProtegerBorrado();
            EstadoMedio exterior = (EstadoMedio)Enum.Parse(typeof(EstadoMedio), comboBoxEstadoExterior.SelectedIndex.ToString());
            EstadoMedio medio    = (EstadoMedio)Enum.Parse(typeof(EstadoMedio), comboBoxEstadoMedio.SelectedIndex.ToString());
            FormatoCD   formato  = (FormatoCD)Enum.Parse(typeof(FormatoCD), comboBoxFormatoCD.SelectedIndex.ToString());
            string      s        = album.artista + "_" + album.nombre;

            if (edit)
            {
                cd.FormatoCD = formato;
                cd.Discos[NDisco - 1].EstadoDisco = medio;
                cd.EstadoExterior = exterior;
                cd.Discos[NDisco - 1].NumCanciones = (short)numericUpDownNumCanciones.Value;
                cd.YearRelease     = Convert.ToInt16(textBoxAño.Text);
                cd.PaisPublicacion = textBoxPais.Text;
                visualizarAlbum nuevo = new visualizarAlbum(ref cd);
                Programa.refrescarVista();
                nuevo.Show();
            }
            else if (NC != album.numCanciones)
            {
                if (NDisco > 1)
                {
                    Disco nuevo = new Disco(Convert.ToInt16(numericUpDownNumCanciones.Value), medio);
                    cd.Discos[NDisco - 1] = nuevo;
                }
                else
                {
                    DiscoCompacto cd = new DiscoCompacto(s, Convert.ToInt16(numericUpDownNumCanciones.Value), medio, exterior, formato, numDiscos);
                    Programa.miColeccion.AgregarCD(ref cd);
                }
            }
            else
            {
                DiscoCompacto cd = null;
                try
                {
                    cd = new DiscoCompacto(s, album.numCanciones, medio, exterior, formato, Convert.ToInt16(textBoxAño.Text), textBoxPais.Text);
                }
                catch (Exception)
                {
                    cd = new DiscoCompacto(s, album.numCanciones, medio, exterior, formato, 0, textBoxPais.Text);
                }
                Programa.miColeccion.AgregarCD(ref cd);
                visualizarAlbum v = new visualizarAlbum(ref cd);
                v.Show();
            }
            Dispose();
        }
示例#5
0
        private void masLargoToolStripMenuItem_Click(object sender, EventArgs e)
        {
            Album a = Programa.miColeccion.albumes.First();

            for (int i = 1; i < Programa.miColeccion.albumes.Count; i++)
            {
                if (a.duracion < Programa.miColeccion.albumes[i].duracion)
                {
                    a = Programa.miColeccion.albumes[i];
                }
            }
            visualizarAlbum v = new visualizarAlbum(ref a);

            v.ShowDialog();
        }
示例#6
0
        private void vistaAlbumes_MouseDoubleClick(object sender, MouseEventArgs e)
        {
            Log.ImprimirMensaje("Iniciada busqueda del álbum linealmente...", TipoMensaje.Info);
            Stopwatch cronoTotal = Stopwatch.StartNew();

            switch (TipoVista)
            {
            case TipoVista.Digital:
                foreach (ListViewItem item in vistaAlbumes.SelectedItems)
                {
                    Stopwatch crono = Stopwatch.StartNew();
                    string    q     = item.SubItems[0].Text + "_" + item.SubItems[1].Text;
                    Album     a     = Programa.miColeccion.devolverAlbum(q);
                    crono.Stop();
                    Log.ImprimirMensajeTiempoCorto("Finalizado", TipoMensaje.Correcto, crono);
                    crono.Reset(); crono.Start();
                    visualizarAlbum vistazo = new visualizarAlbum(ref a);
                    vistazo.Show();
                    crono.Stop();
                    Log.ImprimirMensaje("Formulario creado y mostrado", TipoMensaje.Correcto, crono);
                }
                break;

            case TipoVista.CD:
                foreach (ListViewItem cdViewItem in vistaAlbumes.SelectedItems)
                {
                    Stopwatch     crono = Stopwatch.StartNew();
                    string        b     = cdViewItem.SubItems[0].Text + '_' + cdViewItem.SubItems[1].Text;
                    DiscoCompacto cd;
                    Programa.miColeccion.devolverAlbum(b, out cd);
                    crono.Stop();
                    Log.ImprimirMensajeTiempoCorto("Finalizado", TipoMensaje.Correcto, crono);
                    crono.Reset(); crono.Start();
                    visualizarAlbum visCD = new visualizarAlbum(ref cd);
                    visCD.Show();
                    crono.Stop();
                    Log.ImprimirMensaje("Formulario creado y mostrado", TipoMensaje.Correcto, crono);
                }
                break;
            }
            cronoTotal.Stop();
            Log.ImprimirMensaje("Operación realizada", TipoMensaje.Correcto, cronoTotal);
        }
示例#7
0
        private void generarAlbumToolStripMenuItem_Click(object sender, EventArgs e)
        {
            Log.ImprimirMensaje("Generando álbum al azar", TipoMensaje.Info);
            Stopwatch crono = Stopwatch.StartNew();

            if (vistaAlbumes.Items.Count == 0)
            {
                crono.Stop();
                Log.ImprimirMensaje("Cancelado por no haber álbumes", TipoMensaje.Advertencia);
                MessageBox.Show(Programa.textosLocal.GetString("error_noAlbumes"), "", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }
            Random generador = new Random();

            switch (TipoVista)
            {
            case TipoVista.Digital:
                int             ganador = generador.Next(0, Programa.miColeccion.albumes.Count);
                Album           a       = Programa.miColeccion.albumes[ganador];
                visualizarAlbum vistazo = new visualizarAlbum(ref a);
                vistazo.Show();
                break;

            case TipoVista.CD:
                int             ganadorCD = generador.Next(0, Programa.miColeccion.cds.Count);
                DiscoCompacto   cd        = Programa.miColeccion.cds[ganadorCD];
                visualizarAlbum vistazocd = new visualizarAlbum(ref cd);
                vistazocd.Show();
                break;

            case TipoVista.Vinilo:
                break;

            default:
                break;
            }
            crono.Stop();
            Log.ImprimirMensaje("Generado", TipoMensaje.Correcto, crono);
        }