public void AddFavoriteMusic(FavoriteMusic favoriteMusic)
        {
            //create instance of class DataSerialzer
            var serialize = new DataSerializer();

            //get json-file as a list
            var favoriteMusicList = serialize.JsonDeserializeFavorits();

            //add object to list
            favoriteMusicList.Add(favoriteMusic);

            //serialise postList again to json format
            serialize.JsonSerializeFavorits(favoriteMusicList);
        }
示例#2
0
        //favorite music menu
        public void MusicMenu()
        {
            //create instance of classes
            FavoriteMusicRepository favoriteMusicRepository = new FavoriteMusicRepository();

            //show favorite music list
            favoriteMusicRepository.showMusic();

            //Display title
            Console.WriteLine("MusikMeny:", Color.DeepPink);
            Console.WriteLine("==========================\n", Color.DeepPink);

            //show options
            Console.WriteLine("1: Lägg till en till favoritlåt");
            Console.WriteLine("2: Ta bort favoritlåt ");
            Console.WriteLine("3: Gå tillbaka till huvudmenyn ");

            //Ask user to choose an option and read input
            Console.Write("\nVilket alternativ har du valt? Skriv i siffran och klicka enter \n", Color.Pink);
            string musicOption = Console.ReadLine().ToLower();

            //switch, choose case based on input
            switch (musicOption)
            {
            case "1":

                string artist   = "";
                string songName = "";

                //clear console, show text and read input
                Console.Clear();
                Console.WriteLine("Lägg till favoritlåt i listan:\n");
                Console.Write("Artistens namn: ");
                artist = Console.ReadLine();
                Console.Write("Låtnamn: ");
                songName = Console.ReadLine();

                //do while artist or songName is empty
                while (string.IsNullOrEmpty(songName) || string.IsNullOrEmpty(artist))
                {
                    Console.Clear();
                    Console.WriteLine("Obs! Du glömde skriva in artist eller låtnamn.\n", Color.DarkRed);
                    Console.WriteLine("Gör ett nytt försök\n", Color.DeepPink);

                    Console.Write("Artistens namn: ");
                    artist = Console.ReadLine();
                    Console.Write("Låtnamn: ");
                    songName = Console.ReadLine();
                }

                //add object
                FavoriteMusic favoriteMusic = new FavoriteMusic();
                favoriteMusic.Artist   = artist;
                favoriteMusic.SongName = songName;

                //send object to function AddPost
                favoriteMusicRepository.AddFavoriteMusic(favoriteMusic);

                //call on message function
                Messages("sucessfullAdd");
                break;

            case "2":
                //clear console
                Console.Clear();

                //show favorite music
                favoriteMusicRepository.showMusic();

                //ask user for index on favorite song to delete and read input
                Console.Write("Ange index på favoritlåten du vill radera: ", Color.Pink);
                string indexInput = Console.ReadLine();
                int    index;

                //check if input is a number
                bool isNumber = int.TryParse(indexInput, out index);

                //do while index isn´t a number
                while (isNumber == false)
                {
                    Console.Clear();
                    //show favorite songs
                    favoriteMusicRepository.showMusic();

                    //ask user for index on favorite song to delete and read input
                    Console.WriteLine("Ops! Nu skrev du inte en siffra, testa igen\n", Color.DarkRed);
                    Console.Write("Ange index på favoritlåten du vill radera:\n ", Color.Pink);
                    indexInput = Console.ReadLine();
                    isNumber   = int.TryParse(indexInput, out index);
                }

                //send index to function "DeleteFavoriteMusic"
                bool result = favoriteMusicRepository.DeleteFavoriteMusic(Convert.ToInt32(index));

                //send different messages if result is true or false
                if (result == false)
                {
                    Messages("noIndexToDelete");
                }
                else
                {
                    Messages("sucessfullDelete");
                }
                break;

            case "3":
                Console.Clear();
                Mainmenu();
                break;

            default:
                Messages("MusicMenuOptionError");
                break;
            }
        }