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); }
//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; } }