Ejemplo n.º 1
0
        public string TransferImages(SitecoreDataMap map, string fieldValue)
        {
            if (map == null)
            {
                return(fieldValue);
            }

            var matchList     = StringService.FindIDsInText(fieldValue);
            var newFieldValue = string.Copy(fieldValue);

            foreach (var match in matchList)
            {
                var oldItem = map.FromDB.GetItem(new ID(new Guid(match.Value)));
                if (oldItem == null)
                {
                    continue;
                }

                if (!IsMediaFile(oldItem))
                {
                    continue;
                }

                var mediaItem    = new MediaItem(oldItem);
                var newMediaItem = FindOrCreateMediaItem(map, mediaItem);
                var guidFormat   = match.Value.Length == 38 ? "B" : "N";

                newFieldValue = newFieldValue.Replace(match.Value, newMediaItem.ID.Guid.ToString(guidFormat));
            }

            return(newFieldValue);
        }
Ejemplo n.º 2
0
 public virtual void SetFields(Item importItem, Item datasource, ComponentMap cm, SitecoreDataMap sitecoreMap)
 {
     datasource.Editing.BeginEdit();
     foreach (var kvp in cm.Fields)
     {
         kvp.Value.FillField(sitecoreMap, ref datasource, importItem);
     }
     datasource.Editing.EndEdit(false, false);
     datasource.Database.Caches.ItemCache.RemoveItem(datasource.ID);
 }