Пример #1
0
        public override void Process(GetDependenciesArgs context)
        {
            Assert.IsNotNull(context.IndexedItem, "indexed item");
            Assert.IsNotNull(context.Dependencies, "dependencies");

            var item = (Item)(context.IndexedItem as SitecoreIndexableItem);

            if (item == null)
            {
                return;
            }

            bool Func(ItemUri uri) => (uri != null) && uri != item.Uri;

            var source = (
                from l
                in Globals.LinkDatabase.GetReferrers(item, FieldIDs.LayoutField)
                select l.GetSourceItem().Uri)
                         .Where(Func)
                         .ToList();

            source.AddRange(
                (
                    from l
                    in Globals.LinkDatabase.GetReferrers(item, FieldIDs.FinalLayoutField)
                    select l.GetSourceItem().Uri)
                .Where(Func)
                );

            source = source.DistinctBy(i => i.ItemID).ToList();

            context.Dependencies.AddRange(source.Select(x => (SitecoreItemUniqueId)x));
        }
    public override void Process(GetDependenciesArgs context)
    {
      Assert.IsNotNull(context.Dependencies, "Dependencies is null");
      Item item = context.IndexedItem as SitecoreIndexableItem;
      if (item == null)
        return;

      if (item.IsLocalDatasourceItem())
        this.AddLocalDatasourceParentDependency(item, context.Dependencies);
    }
        public override void Process(GetDependenciesArgs context)
        {
            Assert.IsNotNull(context.Dependencies, "Dependencies is null");
            Item item = context.IndexedItem as SitecoreIndexableItem;

            if (item == null)
            {
                return;
            }

            if (item.IsLocalDatasourceItem())
            {
                this.AddLocalDatasourceParentDependency(item, context.Dependencies);
            }
        }
        public override void Process(GetDependenciesArgs args)
        {
            Assert.IsNotNull(args.IndexedItem, "indexed item");
            Assert.IsNotNull(args.Dependencies, "dependencies");

            Item item = (Item)(args.IndexedItem as SitecoreIndexableItem);

            if (item != null && item.Paths.IsContentItem)
            {
                var linkedItems = Globals.LinkDatabase.GetReferrers(item).Select(it => it.GetSourceItem()).Where(uri => uri.Uri != null && (uri.Uri != item.Uri))
                    .Select(o => o.Uri).Distinct<ItemUri>().Select(z => (SitecoreItemUniqueId)z);

                args.Dependencies.AddRange(linkedItems);
            }
        }
 public override void Process(GetDependenciesArgs context)
 {
     Func<ItemUri, bool> func = null;
     Assert.IsNotNull(context.IndexedItem, "indexed item");
     Assert.IsNotNull(context.Dependencies, "dependencies");
     Item item = (Item)(context.IndexedItem as SitecoreIndexableItem);
     if (item != null)
     {
         if (func == null)
         {
             func = uri => (bool)((uri != null) && ((bool)(uri != item.Uri)));
         }
         var source = Enumerable.Where<ItemUri>(from l in Globals.LinkDatabase.GetReferrers(item, FieldIDs.LayoutField) select l.GetSourceItem().Uri, func).Distinct<ItemUri>();
         context.Dependencies.AddRange(source.Select(x => (SitecoreItemUniqueId)x));
     }
 }
Пример #6
0
        public override void Process(GetDependenciesArgs context)
        {
            Assert.IsNotNull(context.IndexedItem, "indexed item");
            Assert.IsNotNull(context.Dependencies, "dependencies");

            var item = (Item)(context.IndexedItem as SitecoreIndexableItem);

            if (item == null)
            {
                return;
            }

            var itemUri = (SitecoreItemUniqueId)item.Uri;

            if (itemUri == null)
            {
                return;
            }
            if (context.Dependencies.Contains(itemUri))
            {
                return;
            }

            var source = Globals.LinkDatabase.GetReferrers(item, FieldIDs.LayoutField)
                         .Concat(Globals.LinkDatabase.GetReferrers(item, FieldIDs.FinalLayoutField))
                         .Select(link => link.GetSourceItem().Uri)
                         .Where((uri, i) => uri != null && uri != item.Uri)
                         .Distinct();

            foreach (var sourceItemUri in source)
            {
                var candidate = (SitecoreItemUniqueId)sourceItemUri;

                if (candidate == null)
                {
                    continue;
                }
                if (context.Dependencies.Contains(candidate))
                {
                    continue;
                }

                context.Dependencies.Add(candidate);
            }
        }
        public override void Process(GetDependenciesArgs context)
        {
            Func <ItemUri, bool> func = null;

            Assert.IsNotNull(context.IndexedItem, "Indexed item is null");
            Assert.IsNotNull(context.Dependencies, "Dependencies not found");
            Item item = (Item)(context.IndexedItem as SitecoreIndexableItem);

            if (item != null)
            {
                if (func == null)
                {
                    func = uri => (bool)((uri != null) && ((bool)(uri != item.Uri)));
                }
                System.Collections.Generic.IEnumerable <ItemUri> source = Enumerable.Where <ItemUri>(from l in Globals.LinkDatabase.GetReferrers(item, FieldIDs.LayoutField) select l.GetSourceItem().Uri, func).Distinct <ItemUri>();
                context.Dependencies.AddRange(source.Select(x => (SitecoreItemUniqueId)x));
            }
        }
Пример #8
0
        public override void Process(GetDependenciesArgs args)
        {
            //var items = args.IndexedItem;
            Assert.IsNotNull(args.IndexedItem, "indexed item");
            Assert.IsNotNull(args.Dependencies, "dependencies");
            Func<ItemUri, bool> func = null;
            Item item = (Item)(args.IndexedItem as SitecoreIndexableItem);

            if (item != null)
            {
                if (item.Paths.IsContentItem)
                {

                    if (func == null)
                    {
                        func = uri => (bool)((uri != null) && ((bool)(uri != item.Uri)));
                    }
                    System.Collections.Generic.IEnumerable<ItemUri> source = Enumerable.Where<ItemUri>(from l in Globals.LinkDatabase.GetReferrers(item) select l.GetSourceItem().Uri, func).Distinct<ItemUri>();
                    args.Dependencies.AddRange(source.Select(x => (SitecoreItemUniqueId)x));

                }
            }
            //    if (item != null)
            //    {
            //        //We are in the content
            //        if (item.Paths.IsContentItem)
            //        {
            //            // Item does not have a Layout ... so we suppose it's a datasource item
            //            // Maybe do somethings else for that (pipeline like in content usage tools)
            //            if (item.Visualization.Layout == null)
            //            {
            //                var linkedItems = Globals.LinkDatabase.GetReferrers(item);
            //                foreach (var linkedItem in linkedItems)
            //                {
            //                    var itemLinked = (SitecoreIndexableItem)linkedItem.GetSourceItem();
            //                    ContentSearchManager.GetIndex("sitecore_master_index").Update(itemLinked.UniqueId);
            //                }
            //            }
            //        }
            //    }
            //}
        }
        public override void Process(GetDependenciesArgs args)
        {
            Assert.IsNotNull(args.IndexedItem, "indexed item");
            Assert.IsNotNull(args.Dependencies, "dependencies");
            Func<ItemUri, bool> func = null;
            Item item = (Item)(args.IndexedItem as SitecoreIndexableItem);

            if (item != null)
            {
                if (func == null)
                {
                    func = uri => (bool)((uri != null) && ((bool)(uri != item.Uri)));
                }
                System.Collections.Generic.IEnumerable<ItemUri> source =
                    Enumerable.Where<ItemUri>(
                        from l in Globals.LinkDatabase.GetReferrers(item) select l.GetSourceItem().Uri, func)
                        .Distinct<ItemUri>();
                args.Dependencies.AddRange(source.Select(x => (SitecoreItemUniqueId)x));
            }
        }
Пример #10
0
        public override void Process(GetDependenciesArgs args)
        {
            string job = Sitecore.Context.Job.Name;

            ExecuteProcess(args);
        }
Пример #11
0
 public abstract void ExecuteProcess(GetDependenciesArgs args);