private List <ContentFilterPhrase> Find(QueryFilter queryFilter, ObjectId rootId, bool deepSearch, SortBy sortBy)
        {
            List <ContentFilterPhrase>     list = new List <ContentFilterPhrase>();
            ContentFilterPhraseQueryFilter contentFilterPhraseQueryFilter = queryFilter as ContentFilterPhraseQueryFilter;
            ContentFilterConfig            contentFilterConfig            = this.session.FindSingletonConfigurationObject <ContentFilterConfig>();

            if (contentFilterConfig != null)
            {
                foreach (ContentFilterPhrase contentFilterPhrase in contentFilterConfig.GetPhrases())
                {
                    if (contentFilterPhraseQueryFilter != null)
                    {
                        if (string.Equals(contentFilterPhrase.Phrase, contentFilterPhraseQueryFilter.Phrase, StringComparison.OrdinalIgnoreCase))
                        {
                            list.Add(contentFilterPhrase);
                            break;
                        }
                    }
                    else
                    {
                        list.Add(contentFilterPhrase);
                    }
                }
            }
            return(list);
        }
        public void Save(IConfigurable instance)
        {
            ContentFilterPhrase contentFilterPhrase = instance as ContentFilterPhrase;
            ContentFilterConfig contentFilterConfig = this.session.FindSingletonConfigurationObject <ContentFilterConfig>();

            if (contentFilterPhrase != null && contentFilterConfig != null)
            {
                contentFilterConfig.AddPhrase(contentFilterPhrase);
                this.session.Save(contentFilterConfig);
            }
        }
        public IConfigurable Read <T>(ObjectId identity) where T : IConfigurable, new()
        {
            ContentFilterConfig contentFilterConfig = this.session.FindSingletonConfigurationObject <ContentFilterConfig>();

            if (identity != null && contentFilterConfig != null)
            {
                string @string = Encoding.Unicode.GetString(identity.GetBytes());
                foreach (ContentFilterPhrase contentFilterPhrase in contentFilterConfig.GetPhrases())
                {
                    if (string.Equals(contentFilterPhrase.Phrase, @string, StringComparison.OrdinalIgnoreCase))
                    {
                        return(contentFilterPhrase);
                    }
                }
            }
            return(null);
        }