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(); }
public ActionResult ForceReplication(string id) { #if false if (string.IsNullOrEmpty(id)) { return(Content( string.Format(ReplicationNoSiteHtml, string.Join(",", CmsFinder.FindAll <StartPage>().Select(s => s.SiteID))), "text/html; charset=UTF-8")); } var startPages = GetSites(id); if (startPages.Count == 0) { return(Content(id + " is not a valid site id")); } var results = new Dictionary <string, int>(); foreach (var startPage in startPages) { var childCount = AdvancePubDateForSite(startPage); results.Add(startPage.SiteID, childCount); } _contentItemRepository.Flush(); var resultTableRows = results.Aggregate(string.Empty, (current, result) => current + string.Format("<tr><td>{0}</td><td class='numcol'>{1}</td></tr>", result.Key, result.Value)); return(Content(string.Format(ReplicationResultsHtml, resultTableRows), "text/html; charset=UTF-8")); #endif return(Content("Done! well, not really")); }
/// <summary>Persists changes.</summary> public void Flush() { repository.Flush(); }