public Song(string name) { PathToIcon = "Assets/song.png"; if (name == null) name = String.Empty; FullName = name; var values = name.Split(new[] { "-" }, StringSplitOptions.RemoveEmptyEntries).Select(s => s.Trim()).ToList(); SongName = values[1]; Artist = Artist.GetOrAddArtist(values[0], this); }
public static Artist GetOrAddArtist(string name, Song song) { Artist result; if (Artists.Exists(a => a.Name == name)) { result = Artists.First(a => a.Name == name); } else { result = new Artist(name, song); } result.SongsOfArtist.Add(song); return result; }
public void ArtistChanged(Artist artist) { List<Song> listofArtistSongs = artist.SongsOfArtist; List<MusicItem> musicItems = new List<MusicItem>(); foreach (var song in listofArtistSongs) { musicItems.Add(song); } ObservableCollection<MusicItem> tmpCollection = new ObservableCollection<MusicItem>(); foreach (MusicItem musicItem in musicItems) { tmpCollection.Add(musicItem); listArtistsControl.Visibility = Visibility.Visible; songTextControl.Visibility = Visibility.Collapsed; listArtistsControl.ItemsSource = tmpCollection; } listArtistsControl.Focus(FocusState.Pointer); }