private ExternalSiteMapNode GetExternalSiteMap( TreeNode<SiteMapNode> siteMapNode, ExternalSiteMapNode parent ) { var externalSiteMapNode = new ExternalSiteMapNode { Key = siteMapNode.Data.Id.ToString( CultureInfo.InvariantCulture ), Url = siteMapNode.Data.Url, Title = siteMapNode.Data.Title, Description = siteMapNode.Data.Description }; foreach ( TreeNode<SiteMapNode> childSiteMapNode in siteMapNode.Children ) { ExternalSiteMapNode childExternalSiteMapNode = GetExternalSiteMap( childSiteMapNode, externalSiteMapNode ); externalSiteMapNode.Children.Add( childExternalSiteMapNode ); } return externalSiteMapNode; }
private InternalSiteMapNode CreateSiteMap( InternalSiteMapNode parentInternalSiteMapNode, ExternalSiteMapNode externalSiteMapNode ) { InternalSiteMapNode internalSiteMapNode; var siteMapNode = new SiteMapNode( this, externalSiteMapNode.Key, externalSiteMapNode.Url, externalSiteMapNode.Title, externalSiteMapNode.Description ); if ( parentInternalSiteMapNode == null ) { internalSiteMapNode = new InternalSiteMapNode( siteMapNode ); } else { internalSiteMapNode = new InternalSiteMapNode( siteMapNode, parentInternalSiteMapNode ); } foreach ( ExternalSiteMapNode child in externalSiteMapNode.Children ) { CreateSiteMap( internalSiteMapNode, child ); } return internalSiteMapNode; }