当前位置: 首页>>代码示例>>C#>>正文


C# Title.AddGenre方法代码示例

本文整理汇总了C#中Title.AddGenre方法的典型用法代码示例。如果您正苦于以下问题:C# Title.AddGenre方法的具体用法?C# Title.AddGenre怎么用?C# Title.AddGenre使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Title的用法示例。


在下文中一共展示了Title.AddGenre方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: ConvertOMLSDKTitleToTitle

        public static Title ConvertOMLSDKTitleToTitle(OMLSDKTitle omlsdktitle)
        {
            Title _title = new Title();

            if (omlsdktitle != null)
            {
                _title.NameTrimmed = CopyString(omlsdktitle.Name);
                _title.OriginalNameTrimmed = CopyString(omlsdktitle.OriginalName);
                _title.SortNameTrimmed = CopyString(omlsdktitle.SortName);
                _title.Synopsis = CopyString(omlsdktitle.Synopsis);
                _title.ProductionYear = omlsdktitle.ProductionYear;
                _title.ReleaseDate = omlsdktitle.ReleaseDate;
                _title.DateAdded = omlsdktitle.DateAdded;
                _title.Runtime = omlsdktitle.Runtime;
                _title.StudioTrimmed = CopyString(omlsdktitle.Studio);
                _title.UPCTrimmed = CopyString(omlsdktitle.UPC);
                _title.WatchedCount = omlsdktitle.WatchedCount;
                _title.UserStarRating = omlsdktitle.UserStarRating;

                _title.EpisodeNumber = omlsdktitle.EpisodeNumber;
                _title.SeasonNumber = omlsdktitle.SeasonNumber;

                _title.AspectRatioTrimmed = CopyString(omlsdktitle.AspectRatio);
                _title.VideoDetails = CopyString(omlsdktitle.VideoDetails);
                _title.VideoResolutionTrimmed = CopyString(omlsdktitle.VideoResolution);
                _title.VideoStandardTrimmed = CopyString(omlsdktitle.VideoStandard);
                //_title.VideoFormat = (VideoFormat)Enum.Parse(typeof(VideoFormat), omlsdktitle.VideoFormat.ToString());

                _title.FrontCoverPath = CopyString(omlsdktitle.FrontCoverPath);
                _title.BackCoverPath = CopyString(omlsdktitle.BackCoverPath);

                _title.CountryOfOriginTrimmed = CopyString(omlsdktitle.CountryOfOrigin);

                _title.MetadataSourceIDTrimmed = CopyString(omlsdktitle.MetadataSourceID);
                _title.MetadataSourceNameTrimmed = CopyString(omlsdktitle.MetadataSourceName);
                _title.ImporterSourceTrimmed = CopyString(omlsdktitle.ImporterSource);

                _title.OfficialWebsiteURLTrimmed = CopyString(omlsdktitle.OfficialWebsiteURL);
                _title.ParentalRatingTrimmed = CopyString(omlsdktitle.ParentalRating);
                _title.ParentalRatingReasonTrimmed = CopyString(omlsdktitle.ParentalRatingReason);

                #region Disks
                foreach (OMLSDKDisk omlsdkdisk in omlsdktitle.Disks)
                {
                    Disk disk = new Disk();
                    disk.Name = omlsdkdisk.Name;
                    disk.Path = omlsdkdisk.Path;
                    disk.Format = (VideoFormat)Enum.Parse(typeof(VideoFormat), omlsdkdisk.Format.ToString());
                    disk.ExtraOptions = omlsdkdisk.ExtraOptions;
                    _title.AddDisk(disk);
                }
                #endregion

                #region Extra Features
                _title.ExtraFeatures = omlsdktitle.ExtraFeatures;
                #endregion

                #region Trailers
                foreach (string Trailer in omlsdktitle.Trailers)
                {
                    _title.AddTrailer(Trailer);
                }
                #endregion

                #region Genres
                if (omlsdktitle.Genres != null)
                {
                    foreach (string genre in omlsdktitle.Genres)
                    {
                        _title.AddGenre(genre);
                    }
                }
                #endregion

                #region Actring Roles
                if (omlsdktitle.ActingRoles != null)
                {
                    foreach (OMLSDKRole role in omlsdktitle.ActingRoles)
                    {
                        _title.AddActingRole(role.PersonName, role.RoleName);
                    }
                }
                #endregion

                #region Non Acting Roles
                if (omlsdktitle.NonActingRoles != null)
                {
                    foreach (OMLSDKRole role in omlsdktitle.NonActingRoles)
                    {
                        _title.AddNonActingRole(role.PersonName, role.RoleName);
                    }
                }
                #endregion

                #region Directors
                if (omlsdktitle.Directors != null)
                {
                    foreach (OMLSDKPerson person in omlsdktitle.Directors)
                    {
                        _title.AddDirector(ConvertOMLSDKPersonToPerson(person));
//.........这里部分代码省略.........
开发者ID:peeboo,项目名称:open-media-library,代码行数:101,代码来源:SDKUtilities.cs

示例2: ApplyGenreMappings

        private void ApplyGenreMappings(Title title, bool removeUnknownGenres)
        {
            List<String> genreList = new List<String>();

            int genreCount = TitleCollectionManager.GetAllGenreMetaDatas().Count();

            if (genreCount > 0)
            {
                genreList.AddRange(from gm in TitleCollectionManager.GetAllGenreMetaDatas()
                                   select gm.Name);

                Dictionary<string, string> genreIssuesList = new Dictionary<string, string>();
                Dictionary<string, string> genreChanges = new Dictionary<string, string>();

                foreach (string genre in title.Genres)
                {
                    string newGenre = genre.Trim();

                    if (!genreList.Contains(newGenre))
                    {
                        // Genre doesn't exists
                        if (OMLEngine.Settings.SettingsManager.GenreMap_GetMapping(newGenre) != null)
                        {
                            // Mapping already exists for genre
                            genreChanges[genre] = OMLEngine.Settings.SettingsManager.GenreMap_GetMapping(newGenre);
                        }
                        else
                        {
                            // Mapping doesn't exists for genre, try trimming off 'film' from the end just incase
                            if (newGenre.EndsWith("Film", true, CultureInfo.InvariantCulture))
                                newGenre = newGenre.Replace(" Film", "");

                            if (genreList.Contains(newGenre))
                                genreIssuesList[genre] = newGenre;
                            else
                            {
                                string match = genreList.FirstOrDefault(s => s.Split(' ').Intersect(newGenre.Split(' ')).Count() != 0);
                                genreIssuesList[genre] = match;
                            }
                        }
                    }
                }
                foreach (string genre in genreChanges.Keys)
                {
                    title.RemoveGenre(genre);

                    // Mapping contains empty string when user wants a specific genre ignored.
                    if (!String.IsNullOrEmpty(genreChanges[genre]) && !title.Genres.Contains(genreChanges[genre]))
                        title.AddGenre(genreChanges[genre]);
                }
                if (genreIssuesList.Keys.Count > 0)
                {
                    if (!removeUnknownGenres)
                    {
                        foreach (string genre in genreIssuesList.Keys)
                        {
                            if (title.Genres.Contains(genre))
                                title.RemoveGenre(genre);
                        }
                    }
                }
            }
        }
开发者ID:peeboo,项目名称:open-media-library,代码行数:63,代码来源:TitleMetadataManagement.cs

示例3: MetadataSearchUsingPreferred

        /// <summary>
        /// Looksup the preferred metadata on the passed in search criteria
        /// </summary>
        /// <param name="titletype"></param>
        /// <param name="coverArtOnly"></param>
        /// <param name="titleNameSearch"></param>
        /// <param name="EpisodeName"></param>
        /// <param name="SeasonNo"></param>
        /// <param name="EpisodeNo"></param>
        /// <param name="title"></param>
        /// <returns></returns>
        public bool MetadataSearchUsingPreferred(TitleTypes titletype, /*bool coverArtOnly,*/ string titleNameSearch, string EpisodeName, int? SeasonNo, int? EpisodeNo, out Title title)
        {
            title = null;

            string preferredplugin = OMLEngine.Settings.OMLSettings.DefaultMetadataPluginMovies;

            if ((((titletype & TitleTypes.TVShow) != 0) ||
                ((titletype & TitleTypes.Season) != 0) ||
                ((titletype & TitleTypes.Episode) != 0)) &&
                (!string.IsNullOrEmpty(OMLEngine.Settings.OMLSettings.DefaultMetadataPluginTV)))
            {
                // If we are looking for an episode and there is a preferred setting for this, use it
                preferredplugin = OMLEngine.Settings.OMLSettings.DefaultMetadataPluginTV;
            }

            if (string.IsNullOrEmpty(preferredplugin)) return false;

            if (FanArt == null)
            {
                FanArt = new List<string>();
            }
            else
            {
                FanArt.Clear();
            }

            try
            {
                if (titleNameSearch != null)
                {

                    // Import metadata based on field mappings and configured default plugin
                    Dictionary<string, List<string>> mappings = OMLEngine.Settings.SettingsManager.MetaDataMap_PropertiesByPlugin();

                    // Loop through configured mappings
                    Type tTitle = typeof(Title);
                    MetaDataPluginDescriptor metadata;

                    bool loadedfanart = false;

                    foreach (KeyValuePair<string, List<string>> map in mappings)
                    {
                        try
                        {
                            if (map.Key == preferredplugin) continue;
                            metadata = _metadataPlugins.First(p => p.DataProviderName == map.Key);

                            MetadataSearch(metadata, titletype, titleNameSearch, EpisodeName, SeasonNo, EpisodeNo, out title);

                            if (title != null)
                            {
                                foreach (string property in map.Value)
                                {
                                    switch (property)
                                    {
                                        case "FanArt":
                                            if ((metadata.DataProviderCapabilities & MetadataPluginCapabilities.SupportsBackDrops) != 0)
                                            {
                                                loadedfanart = true;
                                                FanArt.AddRange(metadata.PluginDLL.GetBackDropUrlsForTitle().ToList());
                                            }
                                            break;
                                        case "Genres":
                                            foreach (string genre in title.Genres.ToArray<string>())
                                                title.AddGenre(genre);
                                            break;
                                        default:
                                            Utilities.DebugLine("[OMLDatabaseEditor] Using value for " + property + " from plugin " + map.Key);
                                            System.Reflection.PropertyInfo prop = tTitle.GetProperty(property);
                                            prop.SetValue(title, prop.GetValue(title, null), null);
                                            break;
                                    }
                                }
                            }
                        }

                        catch (Exception ex)
                        {
                            Utilities.DebugLine("[OMLSDK] Processing date from {0} Caused an Exception {1}", map.Key, ex);

                        }
                    }
                    // Use default plugin for remaining fields
                    metadata = _metadataPlugins.First(p => p.DataProviderName == preferredplugin);

                    MetadataSearch(metadata, titletype, titleNameSearch, EpisodeName, SeasonNo, EpisodeNo, out title);

                    title.MetadataSourceName = metadata.DataProviderName;

//.........这里部分代码省略.........
开发者ID:peeboo,项目名称:open-media-library,代码行数:101,代码来源:TitleMetadataManagement.cs

示例4: TEST_BASE_CASE

        public void TEST_BASE_CASE()
        {
            Title t = new Title();
            t.AspectRatio = "Widescreen";
            t.BackCoverPath = "back.jpg";
            t.CountryOfOrigin = "US";
            t.DateAdded = new DateTime(2008, 01, 01);
            t.Studio = "Paramount";
            Disk disk = new Disk();
            disk.Name = "Disk 1";
            disk.Path = "myfile.wpl";
            disk.Format = VideoFormat.WPL;
            t.Disks.Add(disk);
            t.FrontCoverPath = "front.jpg";
            t.WatchedCount = 1;
            t.ImporterSource = "MyMovies";
            t.MetadataSourceID = "123";
            t.MetadataSourceName = "MyMovies";
            t.ParentalRating = "R";
            t.Name = "My Movie";
            t.OfficialWebsiteURL = "http://www.mymovie.com";
            t.OriginalName = "My Movie";
            t.ReleaseDate = new DateTime(2008, 1, 1);
            t.Runtime = 110;
            t.Synopsis = "This is my long synopsis of my movie";
            t.UPC = "123ABC";
            t.UserStarRating = 5;
            t.VideoStandard = "NTSC";
            t.AddActingRole("Translucent", "Actor");
            t.AddActingRole("taranu", "Actor");
            t.AddNonActingRole("KingManon", "crew");
            t.AddNonActingRole("Chris", "crew");
            t.AddDirector(new Person("Tim"));
            t.AddGenre("Comedy");
            t.AddAudioTrack("English");
            t.AddAudioTrack("French");
            t.AddProducer(new Person("Sony"));
            t.AddWriter(new Person("Timothy"));

            Assert.AreEqual("Widescreen", t.AspectRatio);
            Assert.AreEqual("back.jpg", t.BackCoverPath);
            Assert.AreEqual("US", t.CountryOfOrigin);
            Assert.IsTrue(new DateTime(2008, 01, 01).CompareTo(t.DateAdded) == 0);
            Assert.AreEqual("Paramount", t.Studio);
            Assert.AreEqual("myfile.wpl", t.Disks[0].Path);
            Assert.AreEqual("Disk 1", t.Disks[0].Name);
            Assert.AreEqual("front.jpg", t.FrontCoverPath);
            Assert.AreEqual(1, t.WatchedCount);
            Assert.AreEqual("MyMovies", t.ImporterSource);
            Assert.AreEqual("123", t.MetadataSourceID);
            Assert.AreEqual("MyMovies", t.MetadataSourceName);
            Assert.AreEqual("R", t.ParentalRating);
            Assert.AreEqual("My Movie", t.Name);
            Assert.AreEqual("http://www.mymovie.com", t.OfficialWebsiteURL);
            Assert.AreEqual("My Movie", t.OriginalName);
            Assert.IsTrue(new DateTime(2008, 01, 01).CompareTo(t.ReleaseDate) == 0);
            Assert.AreEqual("123ABC", t.UPC);
            Assert.AreEqual(5, t.UserStarRating);
            Assert.AreEqual(VideoFormat.WPL, t.Disks[0].Format);
            Assert.AreEqual("NTSC", t.VideoStandard);
            Assert.AreEqual(2, t.ActingRoles.Count);
            IEnumerable<string> actors = t.ActingRoles.Select(a => a.PersonName);
            Assert.That(actors.Contains("Translucent"));
            Assert.That(actors.Contains("taranu"));
            //Assert.AreEqual("KingManon", ((Person)t.Crew[0]).full_name);
            //Assert.AreEqual("Chris", ((Person)t.Crew[1]).full_name);
            Assert.AreEqual(1, t.Directors.Count);
            Assert.AreEqual("Tim", ((Person)t.Directors[0]).full_name);
            Assert.AreEqual(1, t.Genres.Count);
            Assert.AreEqual("Comedy", t.Genres[0]);
            Assert.AreEqual(2, t.AudioTracks.Count);
            Assert.AreEqual("English", t.AudioTracks[0]);
            Assert.AreEqual("French", t.AudioTracks[1]);
            Assert.AreEqual(1, t.Producers.Count);
            Assert.AreEqual("Sony", t.Producers[0]);
            Assert.AreEqual(1, t.Writers.Count);
            Assert.AreEqual("Timothy", ((Person)t.Writers[0]).full_name);
        }
开发者ID:peeboo,项目名称:open-media-library,代码行数:78,代码来源:TitleTest.cs


注:本文中的Title.AddGenre方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。