Exemple #1
0
        public static Song ToSong(this LocalSong track)
        {
            var song = new Song
            {
                ProviderId  = "local." + track.Id,
                Name        = track.Title,
                ArtistName  = track.ArtistName,
                Duration    = track.Duration,
                AudioUrl    = track.FilePath,
                SongState   = SongState.Local,
                TrackNumber = track.TrackNumber,
                PlayCount   = track.PlayCount
            };

            if (!string.IsNullOrEmpty(track.ArtistId))
            {
                song.Artist = track.ToArtist();
                if (string.IsNullOrEmpty(song.ArtistName))
                {
                    song.ArtistName = song.Artist.Name;
                }
            }

            if (!string.IsNullOrEmpty(track.AlbumId))
            {
                song.Album = track.ToAlbum();
                song.Album.PrimaryArtist = song.Artist;
            }
            return(song);
        }
Exemple #2
0
 public static Album ToAlbum(this LocalSong track)
 {
     return(new Album
     {
         ProviderId = "local." + track.AlbumId,
         Name = track.AlbumName.Trim()
     });
 }
Exemple #3
0
 public static Artist ToArtist(this LocalSong track)
 {
     return(new Artist
     {
         ProviderId = "local." + track.ArtistId,
         Name = (string.IsNullOrEmpty(track.AlbumArtist)
             ? track.ArtistName
             : track.AlbumArtist).Trim()
     });
 }