| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182 | using System;using System.Collections.Generic;using System.Linq;using System.Runtime.Serialization;namespace MediaBrowser.Controller.Entities{    public class GameGenre : BaseItem, IItemByName    {        public override List<string> GetUserDataKeys()        {            var list = base.GetUserDataKeys();            list.Insert(0, "GameGenre-" + Name);            return list;        }        /// <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;            }        }        /// <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 override bool IsSaveLocalMetadataEnabled()        {            return true;        }        public override bool CanDelete()        {            return false;        }        public IEnumerable<BaseItem> GetTaggedItems(IEnumerable<BaseItem> inputItems)        {            return inputItems.Where(GetItemFilter());        }        public Func<BaseItem, bool> GetItemFilter()        {            return i => i is Game && i.Genres.Contains(Name, StringComparer.OrdinalIgnoreCase);        }        public IEnumerable<BaseItem> GetTaggedItems(InternalItemsQuery query)        {            query.Genres = new[] { Name };            query.IncludeItemTypes = new[] { typeof(Game).Name };            return LibraryManager.GetItemList(query);        }        [IgnoreDataMember]        public override bool SupportsPeople        {            get            {                return false;            }        }    }}
 |