示例#1
0
        }                                           //Constructor vacío

        public bool AgregarCancion(Cancion cancion) //Método utilizado para agregar un objeto del tipo Cancion.
        {
            if (music.Count() == 0)                 //En caso de que no se hayan agregado canciones, agrega la primera.
            {
                music.Add(cancion);
                return(true);
            }
            else                                                          //Caso en donde ya se han colocado canciones.
            {
                for (int i = 0; i < music.Count; i++)
                {
                    if (music[i].Informacion() == cancion.Informacion())  //Evalua si es que la cancion que se quiere registrar ya ha sido ingresada.
                    {
                        return(false);                                    //Si se cumple la condición, entonces la cancion no se agrega a la lista.
                    }
                }

                music.Add(cancion);                                       //Si no se cumple la condición la cancion se agrega a la lista.
                return(true);
            }
        }
        static void Main(string[] args)
        {
            Espotifai spotify    = new Espotifai();                                                         //Se crea la instancia spotify
            bool      afirmacion = true;                                                                    //Se crea una variable true para tener un loop infinito hasta que el usuario quiera cerrar el programa.

            Console.WriteLine("MENÚ");                                                                      //Comienzo del menú

            while (afirmacion)                                                                              //Loop infinito
            {                                                                                               //Contenido del menú
                Console.WriteLine("\nSi desea agregar una canción, escriba: agregar\nSi desea ver las canciones disponible, escriba: ver\nSi desea buscar a traves de los cuatro criterios, escriba: criterio\nSi desea crear una playlist, escriba: Crear playlist\nSi desea ver las playlists creadas, escriba: Ver mis playlists\nSi desea salir del programa escriba: close");
                string caseSwitch = Console.ReadLine();                                                     //Recibimos lo que el usuario quiera hacer.

                switch (caseSwitch)                                                                         //Posibles casos que el usuario puede acceder.
                {
                case "agregar":                                                                             //Caso utilizado para agregar una cancion a la lista.

                    Console.Write("Coloque el nombre de la cancion: "); string name   = Console.ReadLine(); //Recibe el nombre,
                    Console.Write("Coloque el album: ");                string album  = Console.ReadLine(); //el album,
                    Console.Write("Coloque el artista: ");              string artist = Console.ReadLine(); //el artista
                    Console.Write("Coloque el genero: ");               string genre  = Console.ReadLine(); // y el genero.

                    Cancion cancion   = new Cancion(name, album, artist, genre);                            //Se Crea la instancia
                    bool    respuesta = spotify.AgregarCancion(cancion);                                    //Se checkea si la canción se encuentra en la lista.

                    if (respuesta == false)                                                                 //Condición que nos dice si es que se pudo ingresar la canción
                    {
                        Console.WriteLine("\nNo se pudo ingresar la canción debido a que ya se encuentra dentro del sistema");
                    }
                    break;

                case "ver":                      // Caso que permite que observes las canciones que se han puesto

                    spotify.VerCanciones();      // Metódo que muestra las canciones
                    break;


                case "criterio":
                    Cancion mc = new Cancion("m", "", "", "");      //objeto utilizado para identificar que el criterio escrito no es correcto.
                    Cancion nh = new Cancion("n", "", "", "");      //objeto utilizado para identificar que no hay cancion que cumpla con el valor escrito.

                    Console.Write("Porfavor escriba el criterio que quiere utilizar (nombre, album, artista, genero): ");
                    string criterio = Console.ReadLine();           //Se recibe el criterio del usuario.

                    Console.Write("Escriba el valor: ");
                    string valor = Console.ReadLine();              //Se recibe el valor del usuario.

                    List <Cancion> answer;                          //utilizamos una lista answer para recibir todas las canciones que fueron aceptadas por el criterio y valor.

                    Console.WriteLine(" ");
                    Console.WriteLine("LISTA DE CANCIONES POR CRITERIO");
                    Console.WriteLine(" ");
                    answer = spotify.CancionesPorCriterio(criterio, valor);

                    if (answer[0].Informacion() == mc.Informacion())          //Si la condición se cumple, entonces el criterio no fue escrito correctamente.
                    {
                        Console.WriteLine("\nEl criterio no es parte de los cuatro criterios disponibles");
                        answer.Clear();
                    }
                    else if (answer[0].Informacion() == nh.Informacion())     //Si la condicion se cumple, entonces no hay canciones que coincidan con el valor escrito por el usuario.
                    {
                        Console.WriteLine("\nNo se encontró ninguna canción que cumpla el valor señalado");
                        answer.Clear();
                    }

                    for (int i = 0; i < answer.Count; i++)                    //En el caso de que no se cumplan ninguna de las condiciones se escribe la informacion de todas las canciones en la consola
                    {
                        Console.WriteLine("-----------------------------------------------");
                        Console.WriteLine(answer[i].Informacion());
                        Console.WriteLine("-----------------------------------------------");
                    }
                    break;

                case "Crear playlist":                                                                                                                        //Caso utilizado para crear una playlist.

                    Console.Write("Porfavor ingrese el criterio con el cual quiere crear la playlist: ");  string criterioPlaylist      = Console.ReadLine(); //Se recibe el criterio
                    Console.Write("Coloque el valor del criterio: ");                                      string valorCriterioPlaylist = Console.ReadLine(); //Se recibe el valor
                    Console.Write("Porfavor coloque un nombre a su playlist: ");                           string nombreP = Console.ReadLine();               //Se recibe el nombre de la playlist

                    bool creacion = spotify.GenerarPlaylist(criterioPlaylist, valorCriterioPlaylist, nombreP);                                                //Se checkea si es que se ingresa la playlist al sistema o se rechaza.
                    if (creacion == false)                                                                                                                    //si el resultado es falso, entonces la playlist no fue ingresada.
                    {
                        break;
                    }
                    break;                       //En el caso de que el resultado sea true, la playlist fue agregada en el método GenerarPlaylist, por lo que simplemente se coloca un break

                case "Ver mis playlists":        //Caso para ver las playlists que se han creado
                    Console.WriteLine(spotify.VerMisPlaylists());
                    break;


                case "close":                    // Caso para poder cerrar el loop infinito.
                    afirmacion = false;
                    break;
                }
            }
        }