public static void CopyFieldValues(
            [NotNull] Item sourceIntegrationItem,
            [NotNull] SharepointBaseItem targetSharepointItem,
            [NotNull] IntegrationConfigData integrationConfigData)
        {
            Assert.ArgumentNotNull(sourceIntegrationItem, "sourceIntegrationItem");
            Assert.ArgumentNotNull(targetSharepointItem, "targetSharepointItem");
            Assert.ArgumentNotNull(integrationConfigData, "integrationConfigData");

            foreach (IntegrationConfigData.FieldMapping fieldMapping in integrationConfigData.FieldMappings)
            {
                if (sourceIntegrationItem.Fields[fieldMapping.Target] == null)
                {
                    continue;
                }

                TranslateIntegrationValueArgs pipelineArgs = TranslateSynchValuePipelinesRunner.TranslateIntegrationValue(
                    sourceIntegrationItem,
                    fieldMapping.Target,
                    targetSharepointItem,
                    fieldMapping.Source);
                if (pipelineArgs != null && !(String.IsNullOrEmpty(targetSharepointItem[fieldMapping.Source]) && String.IsNullOrEmpty(pipelineArgs.TranslatedValue)))
                {
                    targetSharepointItem[fieldMapping.Source] = pipelineArgs.TranslatedValue;
                }
            }
        }
        public static TranslateIntegrationValueArgs TranslateIntegrationValue(
            [NotNull] Item sourceIntegrationItem,
            [NotNull] string sourceFieldName,
            [NotNull] SharepointBaseItem targetSharepointItem,
            [NotNull] string targetFieldName)
        {
            Assert.ArgumentNotNull(sourceIntegrationItem, "sourceIntegrationItem");
            Assert.ArgumentNotNull(sourceFieldName, "sourceFieldName");
            Assert.ArgumentNotNull(targetSharepointItem, "targetSharepointItem");
            Assert.ArgumentNotNull(targetFieldName, "targetFieldName");

            var pipelineArgs = new TranslateIntegrationValueArgs(sourceIntegrationItem, sourceFieldName, targetSharepointItem, targetFieldName);

            return(TranslateIntegrationValue(pipelineArgs) ? pipelineArgs : null);
        }
        public static bool TranslateIntegrationValue([NotNull] TranslateIntegrationValueArgs pipelineArgs)
        {
            Assert.ArgumentNotNull(pipelineArgs, "pipelineArgs");

            return(PipelineRunner.Run(PipelineNames.TranslateIntegrationValue, pipelineArgs));
        }