コード例 #1
0
ファイル: Song.cs プロジェクト: ekorolev/songbook
 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);
 }
コード例 #2
0
ファイル: Artist.cs プロジェクト: ekorolev/songbook
 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;
 }
コード例 #3
0
ファイル: MusicItemsViewer.cs プロジェクト: ekorolev/songbook
        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);
        }