From ef66c75cf75b9000d9704f432886b80c16522bd1 Mon Sep 17 00:00:00 2001 From: Sebastien Ros Date: Thu, 2 Feb 2012 11:43:00 -0800 Subject: [PATCH] Adding IContentManager.Clear() method --HG-- branch : 1.x --- src/Orchard/ContentManagement/DefaultContentManager.cs | 6 ++++++ .../ContentManagement/DefaultContentManagerSession.cs | 5 +++++ src/Orchard/ContentManagement/IContentManager.cs | 5 +++++ src/Orchard/ContentManagement/IContentManagerSession.cs | 2 ++ 4 files changed, 18 insertions(+) diff --git a/src/Orchard/ContentManagement/DefaultContentManager.cs b/src/Orchard/ContentManagement/DefaultContentManager.cs index 9d4e9aeb7..047248e3e 100644 --- a/src/Orchard/ContentManagement/DefaultContentManager.cs +++ b/src/Orchard/ContentManagement/DefaultContentManager.cs @@ -528,6 +528,12 @@ namespace Orchard.ContentManagement { return _contentDisplay.Value.UpdateEditor(content, updater, groupId); } + public void Clear() { + var session = _sessionLocator.Value.For(typeof(ContentItemRecord)); + session.Clear(); + _contentManagerSession().Clear(); + } + public IContentQuery Query() { var query = _context.Resolve(TypedParameter.From(this)); return query.ForPart(); diff --git a/src/Orchard/ContentManagement/DefaultContentManagerSession.cs b/src/Orchard/ContentManagement/DefaultContentManagerSession.cs index ebf8ddfea..abd7ca7f3 100644 --- a/src/Orchard/ContentManagement/DefaultContentManagerSession.cs +++ b/src/Orchard/ContentManagement/DefaultContentManagerSession.cs @@ -21,5 +21,10 @@ namespace Orchard.ContentManagement { public bool RecallContentRecordId(int id, out ContentItem item) { return _publishedItemsByContentRecordId.TryGetValue(id, out item); } + + public void Clear() { + _itemByVersionRecordId.Clear(); + _publishedItemsByContentRecordId.Clear(); + } } } diff --git a/src/Orchard/ContentManagement/IContentManager.cs b/src/Orchard/ContentManagement/IContentManager.cs index 921ec77d9..28e8e35f0 100644 --- a/src/Orchard/ContentManagement/IContentManager.cs +++ b/src/Orchard/ContentManagement/IContentManager.cs @@ -77,6 +77,11 @@ namespace Orchard.ContentManagement { /// Flushes all pending content items to the persistance layer /// void Flush(); + + /// + /// Clears the current referenced content items + /// + void Clear(); /// /// Query for arbitrary content items diff --git a/src/Orchard/ContentManagement/IContentManagerSession.cs b/src/Orchard/ContentManagement/IContentManagerSession.cs index 3c2dd0a23..8de1a3b6b 100644 --- a/src/Orchard/ContentManagement/IContentManagerSession.cs +++ b/src/Orchard/ContentManagement/IContentManagerSession.cs @@ -3,5 +3,7 @@ void Store(ContentItem item); bool RecallVersionRecordId(int id, out ContentItem item); bool RecallContentRecordId(int id, out ContentItem item); + + void Clear(); } }