BrickPile.Core.DefaultBrickPileBootstrapper.OnDocumentDelete C# (CSharp) Method

OnDocumentDelete() private method

Called when [document delete].
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();
            }
        }