public SiteMapNode GetParent( SiteMapNode entity )
        {
            var query =
                from x in SiteMapNodeRepository.GetQueryable()
                where x.Lft < entity.Lft && x.Rgt > entity.Lft
                orderby x.Lft descending
                select x;

            SiteMapNode parent = query.FirstOrDefault();
            return parent;
        }
 public void Save( SiteMapNode entity )
 {
     throw new NotImplementedException();
 }
 public void InsertUnderNode( SiteMapNode entity, long id )
 {
     InsertNode( entity, id, null );
 }
 public void InsertAfterNode( SiteMapNode entity, long id )
 {
     InsertNode( entity, 0, id );
 }
 private void UpdateNode( SiteMapNode entity, long parentId, long? previousSiblingId )
 {
     using ( var scope = new TransactionScope() )
     {
         SiteMapNodeRepository.UpdateNode( entity, parentId, previousSiblingId );
         SiteMapNodeRepository.Update( entity );
         _standardUnitOfWork.Save();
         scope.Complete();
     }
 }
 public void UpdateAndPositionUnderNode( SiteMapNode entity, long id )
 {
     UpdateNode( entity, id, null );
 }
 public void UpdateAndPositionAfterNode( SiteMapNode entity, long id )
 {
     UpdateNode( entity, 0, id );
 }
 public void UpdateNode( SiteMapNode entity, long parentId, long? previousSiblingId )
 {
     throw new NotImplementedException();
 }
 public void InsertNode( SiteMapNode entity, long parentId, long? previousSiblingId )
 {
     _siteMapNodes.Add( entity );
 }
 public void Insert( SiteMapNode entity )
 {
     //throw new NotImplementedException();
 }