| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384 | using System;using System.Collections.Generic;using System.Linq;using System.Runtime.Serialization;namespace MediaBrowser.Controller.Entities.Audio{    /// <summary>    /// Class MusicGenre    /// </summary>    public class MusicGenre : BaseItem, IItemByName    {        /// <summary>        /// Gets the user data key.        /// </summary>        /// <returns>System.String.</returns>        protected override string CreateUserDataKey()        {            return "MusicGenre-" + Name;        }        [IgnoreDataMember]        public override bool SupportsAddingToPlaylist        {            get { return true; }        }        /// <summary>        /// Returns the folder containing the item.        /// If the item is a folder, it returns the folder itself        /// </summary>        /// <value>The containing folder path.</value>        [IgnoreDataMember]        public override string ContainingFolderPath        {            get            {                return Path;            }        }        public override bool CanDelete()        {            return false;        }        public override bool IsSaveLocalMetadataEnabled()        {            return true;        }        /// <summary>        /// Gets a value indicating whether this instance is owned item.        /// </summary>        /// <value><c>true</c> if this instance is owned item; otherwise, <c>false</c>.</value>        [IgnoreDataMember]        public override bool IsOwnedItem        {            get            {                return false;            }        }        public IEnumerable<BaseItem> GetTaggedItems(IEnumerable<BaseItem> inputItems)        {            return inputItems.Where(GetItemFilter());        }        public Func<BaseItem, bool> GetItemFilter()        {            return i => (i is IHasMusicGenres) && i.Genres.Contains(Name, StringComparer.OrdinalIgnoreCase);        }        [IgnoreDataMember]        public override bool SupportsPeople        {            get            {                return false;            }        }    }}
 |