private void Replace(ContentItem currentItem, ContentItem replacementItem) { UpdateValues(currentItem, replacementItem); itemRepository.SaveOrUpdate(currentItem); foreach (var removedItem in RemoveRemovedPartsRecursive(currentItem, replacementItem)) { itemRepository.Delete(removedItem); } foreach (var modifiedItem in UpdateModifiedPartsRecursive(currentItem, replacementItem)) { itemRepository.SaveOrUpdate(modifiedItem); } foreach (var addedItem in AddAddedPartsRecursive(currentItem, replacementItem)) { itemRepository.SaveOrUpdate(addedItem); } if (ItemReplacedVersion != null) { ItemReplacedVersion.Invoke(this, new ItemEventArgs(replacementItem)); } itemRepository.Flush(); }
private void Replace(ContentItem currentItem, ContentItem replacementItem) { UpdateValues(currentItem, replacementItem); itemRepository.SaveOrUpdate(currentItem); foreach (var removedItem in RemoveRemovedPartsRecursive(currentItem, replacementItem)) { itemRepository.Delete(removedItem); } var reorderedParts = ReorderReorderedPartRecursive(currentItem, replacementItem); foreach (var modifiedItem in UpdateModifiedPartsRecursive(currentItem, replacementItem)) { itemRepository.SaveOrUpdate(modifiedItem); } foreach (var addedItem in AddAddedPartsRecursive(currentItem, replacementItem)) { itemRepository.SaveOrUpdate(addedItem); } foreach (var reorderedPart in reorderedParts) { Utility.Insert(reorderedPart, reorderedPart.Parent, "SortOrder"); itemRepository.SaveOrUpdate(reorderedPart); } if (ItemReplacedVersion != null) { ItemReplacedVersion.Invoke(this, new ItemEventArgs(replacementItem)); } itemRepository.Flush(); }
private void Replace(ContentItem currentItem, ContentItem replacementItem) { ClearAllDetails(currentItem); ((IUpdatable <ContentItem>)currentItem).UpdateFrom(replacementItem); currentItem.Updated = Utility.CurrentTime(); itemRepository.Update(currentItem); if (ItemReplacedVersion != null) { ItemReplacedVersion.Invoke(this, new ItemEventArgs(replacementItem)); } itemRepository.Flush(); }