/// <summary> /// Ajoute la musique passée en paramètre à la librarie sauf si elle est déjà présente. /// Appelle "AddArtist" si l'artiste n'est pas déjà présent dans la librairie. /// Appelle "AddSong" de l'artiste saisie. /// Si un album a été saisie, /// appelle "AddAlbum" si l'album n'est pas déjà présent dans la librairie. /// appelle "AddSong" de l'album saisie. /// </summary> /// <param name="Track"></param> public void AddSong(Song Track) { if (Track == null) { return; } if (ListSong.Contains(Track)) { Console.WriteLine("Cette musique est déjà présente dans la librarie"); return; } ListSong.Add(Track); Length = Length.Addition(Track.Length); if (!ListArtist.Contains(Track.Artist)) { AddArtist(Track.Artist); } ListArtist[ListArtist.IndexOf(Track.Artist)].AddSong(Track); if (Track.Album.Name != "Unknown") { if (!ListAlbum.Contains(Track.Album)) { AddAlbum(Track.Album); } ListAlbum[ListAlbum.IndexOf(Track.Album)].AddSong(Track); } }
/// <summary> /// Supprime la musique passée en paramètre de la toute la librarie sauf si elle n'est pas présente dedans. /// </summary> /// <param name="Track"></param> public void DeleteSong(Song Track) { ListSong.Remove(Track); Length = Length.Substraction(Track.Length); if (Track.Album.Name != "Unknown") { int i; i = ListAlbum.IndexOf(Track.Album); ListAlbum[i].DeleteSong(Track); if (ListAlbum[i].ListSong.Count() == 0) { DeleteAlbum(ListAlbum[i]); } } foreach (var playlist in ListPlaylist) { if (playlist.ListSong.Contains(Track)) { playlist.DeleteSong(Track); } } int it; it = ListArtist.IndexOf(Track.Artist); ListArtist[it].DeleteSong(Track); if (ListArtist[it].ListSong.Count == 0) { DeleteArtist(Track.Artist); } }