using MediaBrowser.Controller.Providers; using MediaBrowser.Model.Configuration; using MediaBrowser.Model.Entities; using System; using System.Collections.Generic; using System.Linq; using System.Runtime.Serialization; using MediaBrowser.Model.Users; namespace MediaBrowser.Controller.Entities.Audio { /// /// Class MusicAlbum /// public class MusicAlbum : Folder, IHasAlbumArtist, IHasArtist, IHasMusicGenres, IHasLookupInfo { public List SoundtrackIds { get; set; } public MusicAlbum() { SoundtrackIds = new List(); Artists = new List(); AlbumArtists = new List(); } [IgnoreDataMember] public override bool SupportsAddingToPlaylist { get { return true; } } [IgnoreDataMember] public MusicArtist MusicArtist { get { return Parents.OfType().FirstOrDefault(); } } [IgnoreDataMember] public List AllArtists { get { var list = AlbumArtists.ToList(); list.AddRange(Artists); return list; } } public List AlbumArtists { get; set; } [IgnoreDataMember] public string AlbumArtist { get { return AlbumArtists.FirstOrDefault(); } } /// /// Gets the tracks. /// /// The tracks. public IEnumerable