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); }
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); }