Esempio n. 1
0
 public virtual void Process([NotNull] ProcessSharepointItemArgs args)
 {
     using (new IntegrationDisabler())
     {
         IntegrationPipelinesRunner.UpdateIntegrationItem(args.SourceIntegrationItem.ID, args.SharepointItem, args.SynchContext, ProcessIntegrationItemsOptions.DefaultOptions, EventSender.Sitecore);
     }
 }
        public void Process(ProcessSharepointItemArgs args)
        {
            Assert.ArgumentNotNull(args, "args");
            Assert.IsNotNullOrEmpty(args.SourceIntegrationItemName, "args.SourceIntegrationItemName");

            var item = args.SourceIntegrationItem;

            if (item == null)
            {
                return;
            }

            var ext = item["Extension"];

            if (!string.IsNullOrEmpty(ext))
            {
                var sitecoreExtension = Settings.Media.WhitespaceReplacement + ext;
                if (Settings.Media.IncludeExtensionsInItemNames)
                {
                    args.SourceIntegrationItemName = StringUtil.RemovePostfix(sitecoreExtension, args.SourceIntegrationItemName);
                }

                args.SourceIntegrationItemName += '.' + ext;
            }
        }
Esempio n. 3
0
        public virtual void Process([NotNull] ProcessSharepointItemArgs args)
        {
            Assert.ArgumentNotNull(args, "args");

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

            args.SharepointItem.Delete();
        }
Esempio n. 4
0
        public virtual void Process([NotNull] ProcessSharepointItemArgs args)
        {
            Assert.ArgumentNotNull(args, "args");

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

            SharepointItemProvider.UpdateItem(args.SourceIntegrationItem, args.SharepointItem, args.SynchContext);
        }
Esempio n. 5
0
        /// <summary>
        /// Methos is deleting item in SharePoint.
        /// </summary>
        /// <param name="sharepointItemUniqueID">The sharepoint unique id.</param>
        /// <param name="integrationConfigDataSource">The item which contains integration config data for the target intergation item.</param>
        public static bool DeleteSharepointItem([NotNull] string sharepointItemUniqueID, [NotNull] Item integrationConfigDataSource)
        {
            Assert.ArgumentNotNull(sharepointItemUniqueID, "sharepointItemUniqueID");
            Assert.ArgumentNotNull(integrationConfigDataSource, "integrationConfigDataSource");

            var synchContext = new SynchContext(integrationConfigDataSource);

            ProcessSharepointItemArgs pipelineArgs = IntegrationPipelinesRunner.DeleteSharepointItem(sharepointItemUniqueID, synchContext);

            return(pipelineArgs != null);
        }
Esempio n. 6
0
        public static SharepointBaseItem CreateSharepointItem([NotNull] string itemName, [NotNull] Item destination, [NotNull] ID templateId)
        {
            Assert.ArgumentNotNull(itemName, "itemName");
            Assert.ArgumentNotNull(destination, "destination");
            Assert.ArgumentNotNull(templateId, "templateId");

            var synchContext = new SynchContext(destination);

            ProcessSharepointItemArgs pipelineArgs = IntegrationPipelinesRunner.CreateSharepointItem(itemName, templateId, synchContext);

            return(pipelineArgs != null ? pipelineArgs.SharepointItem : null);
        }
        public static ProcessSharepointItemArgs DeleteSharepointItem([NotNull] string sharepointItemID, [NotNull] SynchContext synchContext)
        {
            Assert.ArgumentNotNull(sharepointItemID, "sharepointItemID");
            Assert.ArgumentNotNull(synchContext, "synchContext");

            var pipelineArgs = new ProcessSharepointItemArgs
            {
                SharepointItemID = sharepointItemID,
                SynchContext     = synchContext
            };

            return(DeleteSharepointItem(pipelineArgs) ? pipelineArgs : null);
        }
        public static ProcessSharepointItemArgs CreateSharepointItem([NotNull] IntegrationItem sourceIntegrationItem, [NotNull] SynchContext synchContext)
        {
            Assert.ArgumentNotNull(sourceIntegrationItem, "sourceIntegrationItem");
            Assert.ArgumentNotNull(synchContext, "synchContext");

            var args = new ProcessSharepointItemArgs
            {
                SourceIntegrationItemName       = sourceIntegrationItem.Name,
                SourceIntegrationItem           = sourceIntegrationItem.InnerItem,
                SourceIntegrationItemTemplateID = sourceIntegrationItem.InnerItem.TemplateID,
                SynchContext = synchContext
            };

            return(CreateSharepointItem(args) ? args : null);
        }
        public static bool DeleteSharepointItem([NotNull] ProcessSharepointItemArgs pipelineArgs)
        {
            Assert.ArgumentNotNull(pipelineArgs, "pipelineArgs");

            try
            {
                PipelineRunner.AssertRun(PipelineNames.DeleteSharepointItem, pipelineArgs);
                return(true);
            }
            catch (Exception exception)
            {
                LogMessage(exception, LogMessages.Text0SharePointItem1HasBeenFailed, "Deleting", pipelineArgs.SharepointItemID);
            }

            return(false);
        }
Esempio n. 10
0
        public void shold_do_noting_if_item_is_not_set()
        {
            // Arrange
            var args = new ProcessSharepointItemArgs
            {
                SourceIntegrationItemName = "some name"
            };

            var processor = new ResolveExtension();

            // Act
            processor.Process(args);

            // Assert
            args.SourceIntegrationItemName.Should().Be("some name");
        }
        public static bool CreateSharepointItem([NotNull] ProcessSharepointItemArgs pipelineArgs)
        {
            Assert.ArgumentNotNull(pipelineArgs, "pipelineArgs");

            try
            {
                PipelineRunner.AssertRun(PipelineNames.CreateSharepointItem, pipelineArgs);
                return(true);
            }
            catch (Exception exception)
            {
                LogMessage(exception, LogMessages.Text0SharePointItem1HasBeenFailed, "Creating", LogMessageFormatter.FormatText0Item1(pipelineArgs.SynchContext.IntegrationConfigData, pipelineArgs.SourceIntegrationItemName));
            }

            return(false);
        }
Esempio n. 12
0
        public virtual void Process([NotNull] ProcessSharepointItemArgs args)
        {
            Assert.ArgumentNotNull(args, "args");

            Assert.IsNotNullOrEmpty(args.SourceIntegrationItemName, "args.SourceIntegrationItemName");
            Assert.IsNotNull(args.SourceIntegrationItemTemplateID, "args.SourceIntegrationItemTemplateID");
            Assert.IsNotNull(args.SynchContext, "args.SynchContext");

            TemplateItem templateItem = args.SynchContext.Database.GetTemplate(args.SourceIntegrationItemTemplateID);

            if (templateItem == null)
            {
                return;
            }

            TemplateFieldItem blobTemplateField = templateItem.GetField(FieldNames.Blob);

            if (blobTemplateField != null && blobTemplateField.Type.ToLower() == "attachment")
            {
                try
                {
                    var sourceItem = args.SourceIntegrationItem;
                    args.SharepointItem = SharepointItemProvider.CreateDocumentItem(args.SourceIntegrationItemName, args.SynchContext, sourceItem.Fields[FieldNames.Blob].GetBlobStream());

                    using (new EditContext(sourceItem))
                    {
                        if (sourceItem.Fields[FieldNames.SharepointDataModified] != null)
                        {
                            DateTime owsModified = Convert.ToDateTime(args.SharepointItem["ows_Modified"]);
                            sourceItem[FieldNames.SharepointDataModified] = DateUtil.ToIsoDate(owsModified);
                        }
                    }
                }
                catch (Exception e)
                {
                    args.AddMessage(e.Message);
                    args.AbortPipeline();
                }
            }

            if (args.SourceIntegrationItemTemplateID == TemplateIDs.IntegrationFolder)
            {
                args.SharepointItem = SharepointItemProvider.CreateFolderItem(args.SourceIntegrationItemName, args.SynchContext);
            }
        }
        public static ProcessSharepointItemArgs UpdateSharepointItem(
            [NotNull] string sharepointItemID,
            [NotNull] Item sourceIntegrationItem,
            [NotNull] SynchContext synchContext)
        {
            Assert.ArgumentNotNull(sharepointItemID, "sharepointItemID");
            Assert.ArgumentNotNull(sourceIntegrationItem, "sourceIntegrationItem");
            Assert.ArgumentNotNull(synchContext, "synchContext");

            var pipelineArgs = new ProcessSharepointItemArgs
            {
                SharepointItemID      = sharepointItemID,
                SourceIntegrationItem = sourceIntegrationItem,
                SynchContext          = synchContext
            };

            return(UpdateSharepointItem(pipelineArgs) ? pipelineArgs : null);
        }
        public static ProcessSharepointItemArgs CreateSharepointItem(
            [NotNull] string sourceIntegrationItemName,
            [NotNull] ID sourceIntegrationItemTemplateID,
            [NotNull] SynchContext synchContext)
        {
            Assert.ArgumentNotNull(sourceIntegrationItemName, "sourceIntegrationItemName");
            Assert.ArgumentNotNull(sourceIntegrationItemTemplateID, "sourceIntegrationItemTemplateID");
            Assert.ArgumentNotNull(synchContext, "synchContext");

            var pipelineArgs = new ProcessSharepointItemArgs
            {
                SourceIntegrationItemName       = sourceIntegrationItemName,
                SourceIntegrationItemTemplateID = sourceIntegrationItemTemplateID,
                SynchContext = synchContext
            };

            return(CreateSharepointItem(pipelineArgs) ? pipelineArgs : null);
        }
Esempio n. 15
0
        public static bool UpdateSharepointItem([NotNull] Item sourceIntegrationItem)
        {
            Assert.ArgumentNotNull(sourceIntegrationItem, "sourceIntegrationItem");

            CacheableIntegrationItemInfo cacheableIntegrationItemInfo = IntegrationCache.GetIntegrationItemInfo(sourceIntegrationItem.ID);

            if (cacheableIntegrationItemInfo == null)
            {
                Log.Warn("Can't find item in the Sharepoint cache and so can't update Sharepoint item. ", sourceIntegrationItem);
                return(false);
            }

            var synchContext = new SynchContext(cacheableIntegrationItemInfo.ParentItemId, sourceIntegrationItem.Database);

            ProcessSharepointItemArgs pipelineArgs = IntegrationPipelinesRunner.UpdateSharepointItem(
                cacheableIntegrationItemInfo.SharepointItemId,
                sourceIntegrationItem,
                synchContext);

            return(pipelineArgs != null);
        }
Esempio n. 16
0
        public void should_respect_WhitespaceReplacement_setting(string itemName, string whitespaceReplacement, string expectedName)
        {
            using (new SettingsSwitcher("Media.IncludeExtensionsInItemNames", bool.TrueString))
                using (new SettingsSwitcher("Media.WhitespaceReplacement", whitespaceReplacement))
                {
                    Item sourceItem = itemName.CreateIntegrationItem().WithField("Extension", "ext");
                    var  args       = new ProcessSharepointItemArgs
                    {
                        SourceIntegrationItemName = sourceItem.Name,
                        SourceIntegrationItem     = sourceItem,
                    };

                    var processor = new ResolveExtension();

                    // Act
                    processor.Process(args);

                    // Assert
                    args.SourceIntegrationItemName.Should().Be(expectedName);
                }
        }
Esempio n. 17
0
        public void should_fix_name_if_IncludeExtensionsInItemNames_is_enabled(string itemName, string extensions, string expectedName)
        {
            // Arrange
            using (new SettingsSwitcher("Media.IncludeExtensionsInItemNames", bool.TrueString))
            {
                Item sourceItem = itemName.CreateIntegrationItem().WithField("Extension", extensions);
                var  args       = new ProcessSharepointItemArgs
                {
                    SourceIntegrationItemName = sourceItem.Name,
                    SourceIntegrationItem     = sourceItem,
                };

                var processor = new ResolveExtension();

                // Act
                processor.Process(args);

                // Assert
                args.SourceIntegrationItemName.Should().Be(expectedName);
            }
        }