private OnDocumentDelete ( string key, IPage page, RavenJObject metadata ) : void | ||
key | string | The key. |
page | IPage | The currentPage. |
metadata | RavenJObject | The metadata. |
return | void |
internal void OnDocumentDelete(string key, IPage page, RavenJObject metadata)
{
using (IDocumentSession session = DocumentStore.OpenSession())
{
var trie = session.Load<Trie>(TrieId);
TrieNode node = trie.Get(key);
if (node != null)
{
trie.Delete(node);
}
// Clean up any existing draft for this page
if (session.Advanced.DocumentStore.Exists(key + "/draft"))
{
var draft = session.Load<IPage>(key + "/draft");
session.Delete(draft);
}
session.SaveChanges();
}
}