TinySite.Models.BookPage.GetWithRenderingDocument C# (CSharp) Method

GetWithRenderingDocument() public method

public GetWithRenderingDocument ( DocumentFile activeDocument ) : BookPage
activeDocument DocumentFile
return BookPage
        public BookPage GetWithRenderingDocument(DocumentFile activeDocument)
        {
            var page = this;

            if (this.Document == activeDocument)
            {
                page = new BookPage(this.Document, this.Chapter);

                page.Active = true;

                page.SubPageActive = false;

                page.SubPages = this.SubPages;
            }
            else if (this.SubPages != null)
            {
                var subPages = this.SubPages.Select(p => p.GetWithRenderingDocument(activeDocument)).ToList();

                if (subPages.Any(c => c.Active || c.SubPageActive))
                {
                    page = new BookPage(this.Document, this.Chapter);

                    page.Active = false;

                    page.SubPageActive = true;

                    page.SubPages = subPages;
                }
            }

            return page;
        }