예제 #1
0
        public virtual void Process([NotNull] ProcessSharepointItemArgs args)
        {
            Assert.ArgumentNotNull(args, "args");
            Assert.IsNotNull(args.SourceIntegrationItem, "args.SourceIntegrationItem");

            ItemCache itemCache = CacheManager.GetItemCache(args.SourceIntegrationItem.Database);

            if (itemCache != null)
            {
                itemCache.RemoveItem(args.SourceIntegrationItem.ID);
            }

            DataCache dataCache = CacheManager.GetDataCache(args.SourceIntegrationItem.Database);

            if (dataCache != null)
            {
                dataCache.RemoveItemInformation(args.SourceIntegrationItem.ID);
            }

            var prefetchCache = this.GetPrefetchCache(args.SourceIntegrationItem.Database);

            if (prefetchCache != null)
            {
                prefetchCache.Remove(args.SourceIntegrationItem.ID);
            }

            args.SourceIntegrationItem = args.SourceIntegrationItem.Database.GetItem(args.SourceIntegrationItem.ID);
            if (args.SourceIntegrationItem == null)
            {
                string message = string.Format(LogMessages.SitecoreItem0IsDeletedAndCouldNotBeSynchronizedWithSharepoint, args.SharepointItem.UniqueID);
                Log.Warn(message, this);

                args.AbortPipeline();
            }
        }
예제 #2
0
        public virtual void Process([NotNull] ProcessSharepointItemArgs args)
        {
            Assert.ArgumentNotNull(args, "args");

            Assert.IsNotNullOrEmpty(args.SharepointItemID, "args.SharepointItemID");
            Assert.IsNotNull(args.SynchContext, "args.SynchContext");

            args.SharepointItem = args.SharepointItem ?? BaseItem.GetItem(args.SharepointItemID, args.SynchContext.Context, args.SynchContext.IntegrationConfigData.View);
        }
        public virtual void Process([NotNull] ProcessSharepointItemArgs args)
        {
            Assert.ArgumentNotNull(args, "args");

            Assert.IsNotNull(args.SynchContext, "args.SynchContext");

            if (!args.SynchContext.IntegrationConfigData.BidirectionalLink)
            {
                args.AbortPipeline();
            }
        }
예제 #4
0
        public virtual void Process([NotNull] ProcessSharepointItemArgs args)
        {
            Assert.ArgumentNotNull(args, "args");

            Assert.IsNotNull(args.SharepointItem, "args.SharepointItem");

            var documentItem = args.SharepointItem as DocumentItem;

            if (documentItem != null && documentItem.IsCheckedOut)
            {
                string message = string.Format(LogMessages.SharepointItem0IsCheckedOutAndCouldNotBeSynchronizedWithSitecore, args.SharepointItem.UniqueID);
                Log.Warn(message, this);

                args.AbortPipeline();
            }
        }