Example #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();
        }
Example #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();
        }
        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"));
        }
Example #4
0
 /// <summary>Persists changes.</summary>
 public void Flush()
 {
     repository.Flush();
 }