Exemple #1
0
        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();
        }
Exemple #2
0
        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();
        }
Exemple #3
0
        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();
        }