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); }
public static Album ToAlbum(this LocalSong track) { return(new Album { ProviderId = "local." + track.AlbumId, Name = track.AlbumName.Trim() }); }
public static Artist ToArtist(this LocalSong track) { return(new Artist { ProviderId = "local." + track.ArtistId, Name = (string.IsNullOrEmpty(track.AlbumArtist) ? track.ArtistName : track.AlbumArtist).Trim() }); }