public DeletePlaylitScreen()
        {
            WriteLine("Eliminar playlist\n"
                      + "-----------------\n");

            if (playlistService.Count() > 0)
            {
                Write("Escribe el ID o el Nombre de tu playlist: ");
                string option;
                string name = "";
                int    id   = 0;

                option = ReadLine();

                WriteLine("");

                // Si fue ID.
                if (Int32.TryParse(option, out id))
                {
                    searchedPlaylist = playlistService.Get(id);
                }
                else  // Si fue nombre
                {
                    name             = option;
                    searchedPlaylist = (playlistService.Find(p => p.Name.ToLower() == name.ToLower()));
                }

                if (searchedPlaylist != null)
                {
                    WriteLine($">> La playlist llamada \"{searchedPlaylist.Name}\" ha sido eliminada");
                    playlistService.Delete(searchedPlaylist);
                }
                else
                {
                    WriteLine(">> Playlist no encontrada");
                }
            }
            else
            {
                WriteLine(">> No tienes playlists en tu lista <<");
            }
        }
        public SearchPlaylistScreen()
        {
            var writer = new ConsoleWriter(0);

            writer.WriteLine(
                "Buscar playlist\n" +
                "---------------\n"
                );

            if (playlistService.Count() > 0)
            {
                writer.Write("Escribe el ID o el Nombre de tu playlist: ");
                string option;
                string name = "";

                option = ReadLine();

                writer.WriteLine("");

                // Si fue ID.
                if (Int32.TryParse(option, out int id))
                {
                    searchedPlaylist = playlistService.Get(id);
                }
                else  // Si fue nombre
                {
                    name             = option;
                    searchedPlaylist = playlistService.Find(p => p.Name.ToLower() == name.ToLower());
                }

                if (searchedPlaylist != null)
                {
                    writer.WriteLine(
                        "[Playlist encontrada]\n"
                        );

                    writer.WriteLine(
                        $"- ID: {searchedPlaylist.Id}\n" +
                        $"- Logo: {searchedPlaylist.Logo}\n" +
                        $"- Nombre: {searchedPlaylist.Name}\n" +
                        $"- Piezas ({searchedPlaylist.PieceList.Count} en total): \n"
                        );

                    var pieces = searchedPlaylist.PieceList;

                    // Printing pieces
                    foreach (var piece in pieces)
                    {
                        writer.WriteLine(
                            text: $"- ID: {piece.Id}, Nombre: {piece.Name}, Artista: {piece.Artist}",
                            indent: 1
                            );
                    }
                }
                else
                {
                    writer.WriteLine(">> Playlist no encontrada");
                }
            }
            else
            {
                writer.WriteLine(">> No tienes playlists en tu lista <<");
            }
        }
        public EditPlayListScreen()
        {
            Playlist searchedPlaylist;
            var      writer = new ConsoleWriter(0);

            // Title.
            writer.WriteLine(
                "Editar playlist\n" +
                "---------------\n"
                );

            if (playlistService.Count() < 0)
            {
                writer.WriteLine(">> No tines playlists en tu lista. Agrega una para usar esta función.");
            }
            else
            {
                var validName   = true;
                var validLogo   = true;
                var validPieces = true;

                // Requesting ID or Name
                writer.Write("- Escribe el ID o el Nombre de la playlist: ");
                string option;
                string name = "";

                option = ReadLine();

                writer.WriteLine("");

                // If an ID is written
                if (Int32.TryParse(option, out int id))
                {
                    searchedPlaylist = playlistService.Get(id);
                }
                else
                {
                    name             = option;
                    searchedPlaylist = playlistService.Find(p => p.Name == name);
                }

                // If playlist has finded
                if (searchedPlaylist != null)
                {
                    writer.WriteLine(
                        text: "[Playlist encontrada] \n",
                        indent: 1
                        );

                    PrintPlaylist(
                        playlist: searchedPlaylist,
                        withNumeration: true,
                        withPieces: true,
                        indentation: 1
                        );

                    // Requesting what fields wants to modify.
                    writer.Write("\n- ¿Qué campos quieres editar? (separa con coma): ");
                    var options = ReadNumberOptions();

                    writer.WriteLine("");

                    var canceled = false;
                    foreach (var i in options)
                    {
                        if (i == 1)
                        {
                            validLogo = RequestLogo(ref searchedPlaylist, indent: 1);
                        }
                        else if (i == 2)
                        {
                            validName = EditName(ref searchedPlaylist, indent: 1);

                            if (!validName)
                            {
                                writer.WriteLine(
                                    text: "  (Ya existe una playlist con ese nombre. El nombre no será cambiado)\n",
                                    indent: 1
                                    );
                            }
                        }
                        else if (i == 3)
                        {
                            validPieces = EditPlaylistPieces(ref searchedPlaylist);
                        }
                        else
                        {
                            canceled = true;
                            writer.WriteLine("\n>> EDICIÓN CANCELADA: Dato introducio no válido <<");
                        }
                    }

                    if (!canceled)
                    {
                        try
                        {
                            playlistService.Update(searchedPlaylist);
                            writer.WriteLine("\n>> Edición guardada <<");
                        }
                        catch (InvalidOperationException ex)
                        { }
                    }
                }
                else
                {
                    writer.WriteLine(">> Playlist no encontrada. : (");
                    writer.WriteLine("   El ID o nombre introducido no coincidió con ningún resultado de búsqueda <<");
                }
            }
        }
Пример #4
0
        public SearchPieceInPlaylistScreen()
        {
            WriteLine("Buscar pieza en playlist\n"
                      + "------------------------\n");


            if (playlistService.Count() > 0)
            {
                Write("- Escribe el ID o el Nombre de la playlist: ");
                string option;
                string name   = "";
                var    writer = new ConsoleWriter(0);

                option = ReadLine();

                WriteLine("");

                // If you wrote an ID.
                if (Int32.TryParse(option, out int id))
                {
                    searchedPlaylist = playlistService.Get(id);
                }
                else // If you wrote a Name.
                {
                    name             = option;
                    searchedPlaylist = playlistService.Find(p => p.Name.ToLower() == name.ToLower());
                }

                if (searchedPlaylist != null)
                {
                    writer.Write(
                        $"- ¿Qué canción quieres buscar en la playlist \"{searchedPlaylist.Name}\"? (Escribe el ID o el Nombre): "
                        );

                    string pieceOption;

                    pieceOption = ReadLine();

                    WriteLine("");

                    // Si fue ID.
                    if (Int32.TryParse(pieceOption, out id))
                    {
                        searchedPiece = pieceService.Get(id);
                    }
                    else  // Si fue nombre
                    {
                        name          = pieceOption;
                        searchedPiece = pieceService.Find(p => p.Name.ToLower() == name.ToLower());
                    }

                    if (searchedPiece != null)
                    {
                        WriteLine("[Pieza encontrada]\n");

                        searchedPiece.Print();
                        WriteLine("");
                    }
                    else
                    {
                        WriteLine(">> No se encontraron resultados <<\n");
                    }
                }
                else
                {
                    WriteLine(">> Playlist no encontrada");
                }
            }
            else
            {
                WriteLine(">> No tienes playlists en tu lista <<");
            }
        }