Ejemplo n.º 1
0
 private static void InitializeKeywordGroups()
 {
     foreach (var group in Groups)
     {
         SdMxf.GetKeywordGroup(group, "m1");
     }
 }
Ejemplo n.º 2
0
        private static void DetermineProgramKeywords(MxfProgram mxfProgram, SchedulesDirect.Program sdProgram)
        {
            // determine primary group of program
            var group = keygroups.UNKNOWN;

            if (mxfProgram.IsMovie)
            {
                group = keygroups.MOVIES;
            }
            else if (mxfProgram.IsPaidProgramming)
            {
                group = keygroups.PAIDPROGRAMMING;
            }
            else if (mxfProgram.IsSports)
            {
                group = keygroups.SPORTS;
            }
            else if (mxfProgram.IsKids)
            {
                group = keygroups.KIDS;
            }
            else if (mxfProgram.IsEducational)
            {
                group = keygroups.EDUCATIONAL;
            }
            else if (mxfProgram.IsNews)
            {
                group = keygroups.NEWS;
            }
            else if (mxfProgram.IsSpecial)
            {
                group = keygroups.SPECIAL;
            }
            else if (mxfProgram.IsReality)
            {
                group = keygroups.REALITY;
            }
            else if (mxfProgram.IsSeries)
            {
                group = keygroups.SERIES;
            }

            // build the keywords/categories
            if (group == keygroups.UNKNOWN)
            {
                return;
            }
            var mxfKeyGroup = SdMxf.GetKeywordGroup(Groups[(int)group]);

            mxfProgram.mxfKeywords.Add(new MxfKeyword {
                Index = mxfKeyGroup.Index, Word = Groups[(int)group]
            });

            // add premiere categories as necessary
            if (mxfProgram.IsSeasonPremiere || mxfProgram.IsSeriesPremiere)
            {
                var premiere = SdMxf.GetKeywordGroup(Groups[(int)keygroups.PREMIERES]);
                mxfProgram.mxfKeywords.Add(new MxfKeyword {
                    Index = premiere.Index, Word = "Premieres"
                });
                if (mxfProgram.IsSeasonPremiere)
                {
                    mxfProgram.mxfKeywords.Add(premiere.GetKeyword("Season Premiere"));
                }
                if (mxfProgram.IsSeriesPremiere)
                {
                    mxfProgram.mxfKeywords.Add(premiere.GetKeyword("Series Premiere"));
                }
            }
            else if (mxfProgram.extras["premiere"])
            {
                if (group == keygroups.MOVIES)
                {
                    mxfProgram.mxfKeywords.Add(mxfKeyGroup.GetKeyword("Premiere"));
                }
                else if (Helper.TableContains(sdProgram.Genres, "miniseries"))
                {
                    var premiere = SdMxf.GetKeywordGroup(Groups[(int)keygroups.PREMIERES]);
                    mxfProgram.mxfKeywords.Add(new MxfKeyword {
                        Index = premiere.Index, Word = "Premieres"
                    });
                    mxfProgram.mxfKeywords.Add(premiere.GetKeyword("Miniseries Premiere"));
                }
            }

            // now add the real categories
            if (sdProgram.Genres != null)
            {
                foreach (var genre in sdProgram.Genres)
                {
                    mxfProgram.mxfKeywords.Add(mxfKeyGroup.GetKeyword(genre));
                }
            }

            // ensure there is at least 1 category to present in category search
            if (mxfProgram.mxfKeywords.Count > 1)
            {
                return;
            }
            mxfProgram.mxfKeywords.Add(mxfKeyGroup.GetKeyword("Uncategorized"));
        }