Beispiel #1
0
            public static void Execute(ExamineComponent examineComponent, IContent content, bool isPublished)
            {
                // perform the ValueSet lookup on a background thread
                examineComponent._indexItemTaskRunner.Add(new SimpleTask(() =>
                {
                    // Background thread, wrap the whole thing in an explicit scope since we know
                    // DB services are used within this logic.
                    using (examineComponent._scopeProvider.CreateScope(autoComplete: true))
                    {
                        // for content we have a different builder for published vs unpublished
                        // we don't want to build more value sets than is needed so we'll lazily build 2 one for published one for non-published
                        var builders = new Dictionary <bool, Lazy <List <ValueSet> > >
                        {
                            [true]  = new Lazy <List <ValueSet> >(() => examineComponent._publishedContentValueSetBuilder.GetValueSets(content).ToList()),
                            [false] = new Lazy <List <ValueSet> >(() => examineComponent._contentValueSetBuilder.GetValueSets(content).ToList())
                        };

                        foreach (var index in examineComponent._examineManager.Indexes.OfType <IUmbracoIndex>()
                                 //filter the indexers
                                 .Where(x => isPublished || !x.PublishedValuesOnly)
                                 .Where(x => x.EnableDefaultEventHandler))
                        {
                            var valueSet = builders[index.PublishedValuesOnly].Value;
                            index.IndexItems(valueSet);
                        }
                    }
                }));
            }
Beispiel #2
0
            public static void Execute(ExamineComponent examineComponent, int id, bool keepIfUnpublished)
            {
                var strId = id.ToString(CultureInfo.InvariantCulture);

                foreach (var index in examineComponent._examineManager.Indexes.OfType <IUmbracoIndex>()
                         .Where(x => x.PublishedValuesOnly || !keepIfUnpublished)
                         .Where(x => x.EnableDefaultEventHandler))
                {
                    index.DeleteFromIndex(strId);
                }
            }
            public static void Execute(ExamineComponent examineComponent, IMember member)
            {
                var valueSet = examineComponent._memberValueSetBuilder.GetValueSets(member).ToList();

                foreach (var index in examineComponent._examineManager.Indexes.OfType <IUmbracoIndex>()
                         //filter the indexers
                         .Where(x => x.EnableDefaultEventHandler))
                {
                    index.IndexItems(valueSet);
                }
            }
            public static void Execute(ExamineComponent examineComponent, IMedia media, bool isPublished)
            {
                var valueSet = examineComponent._mediaValueSetBuilder.GetValueSets(media).ToList();

                foreach (var index in examineComponent._examineManager.Indexes.OfType <IUmbracoIndex>()
                         //filter the indexers
                         .Where(x => isPublished || !x.PublishedValuesOnly)
                         .Where(x => x.EnableDefaultEventHandler))
                {
                    index.IndexItems(valueSet);
                }
            }
Beispiel #5
0
 public static void Execute(ExamineComponent examineComponent, IMember member)
 {
     // perform the ValueSet lookup on a background thread
     examineComponent._indexItemTaskRunner.Add(new SimpleTask(() =>
     {
         var valueSet = examineComponent._memberValueSetBuilder.GetValueSets(member).ToList();
         foreach (var index in examineComponent._examineManager.Indexes.OfType <IUmbracoIndex>()
                  //filter the indexers
                  .Where(x => x.EnableDefaultEventHandler))
         {
             index.IndexItems(valueSet);
         }
     }));
 }
            public static void Execute(ExamineComponent examineComponent, IContent content, bool isPublished)
            {
                foreach (var index in examineComponent._examineManager.Indexes.OfType <IUmbracoIndex>()
                         //filter the indexers
                         .Where(x => isPublished || !x.PublishedValuesOnly)
                         .Where(x => x.EnableDefaultEventHandler))
                {
                    //for content we have a different builder for published vs unpublished
                    var builder = index.PublishedValuesOnly
                        ? examineComponent._publishedContentValueSetBuilder
                        : (IValueSetBuilder <IContent>)examineComponent._contentValueSetBuilder;

                    index.IndexItems(builder.GetValueSets(content));
                }
            }
Beispiel #7
0
 public static void Execute(ExamineComponent examineComponent, IMember member)
 {
     // perform the ValueSet lookup on a background thread
     examineComponent._indexItemTaskRunner.Add(new SimpleTask(() =>
     {
         // Background thread, wrap the whole thing in an explicit scope since we know
         // DB services are used within this logic.
         using (examineComponent._scopeProvider.CreateScope(autoComplete: true))
         {
             var valueSet = examineComponent._memberValueSetBuilder.GetValueSets(member).ToList();
             foreach (var index in examineComponent._examineManager.Indexes.OfType <IUmbracoIndex>()
                      //filter the indexers
                      .Where(x => x.EnableDefaultEventHandler))
             {
                 index.IndexItems(valueSet);
             }
         }
     }));
 }
Beispiel #8
0
 public DeferedDeleteIndex(ExamineComponent examineComponent, int id, bool keepIfUnpublished)
 {
     _examineComponent = examineComponent;
     _id = id;
     _keepIfUnpublished = keepIfUnpublished;
 }
Beispiel #9
0
 public DeferedReIndexForMember(ExamineComponent examineComponent, IMember member)
 {
     _examineComponent = examineComponent;
     _member           = member;
 }
Beispiel #10
0
 public DeferedReIndexForMedia(ExamineComponent examineComponent, IMedia media, bool isPublished)
 {
     _examineComponent = examineComponent;
     _media            = media;
     _isPublished      = isPublished;
 }
Beispiel #11
0
 public DeferedReIndexForContent(ExamineComponent examineComponent, IContent content, bool isPublished)
 {
     _examineComponent = examineComponent;
     _content          = content;
     _isPublished      = isPublished;
 }