private string AddTopLevelHTML(StatuteListing listing)
        {
            var pageTitle = "Rhode Island Pharmacy Statutes";

            var html = new StringBuilder();

            html.AppendLine(Tags.html.Start);
            //header
            html.AppendLine(Tags.head.Start);
            html.AppendLine(Tags.style.Start);
            html.AppendLine(styleSheetProvider.GetStyleSheet());
            html.AppendLine(Tags.style.End);
            html.AppendLine(Tags.head.End);

            //body
            html.AppendLine(Tags.Body.Start);
            html.AppendLine(Tags.OpenDivWithId("page-title"));
            html.AppendLine(pageTitle);
            html.AppendLine(Tags.Div.End);
            html.AppendLine(Tags.OpenDivWithId("page-status"));
            html.AppendLine("Last Updated: " + DateTime.Now);
            html.AppendLine(Tags.Div.End);
            html.AppendLine(Tags.OpenDivWithId("page-index"));
            html.AppendLine(CreatePageIndex(listing));
            html.AppendLine(Tags.Div.End);
            html.AppendLine(Tags.OpenDivWithId("page-content"));
            html.Append(CreatePage(listing));
            html.AppendLine(Tags.Div.End);
            html.AppendLine();
            html.AppendLine(Tags.Body.End);
            html.AppendLine(Tags.html.End);
            return(html.ToString());
        }
        private static string CreatePage(StatuteListing listing)
        {
            var html = new StringBuilder();

            foreach (var title in listing.Titles)
            {
                var titleHtml = FormatTitle(title);
                html.AppendLine(titleHtml);
            }

            return(html.ToString());
        }
        private static string CreatePageIndex(StatuteListing listing)
        {
            var html = new StringBuilder();

            foreach (var title in listing.Titles)
            {
                var titleLine = title.TitleNumber + " " + title.TitleName;
                html.AppendLine(Tags.H4.Start);
                html.AppendLine(Tags.AnchorLink(title.LinkID, titleLine));
                html.AppendLine(Tags.H4.End);
                var titleIndex = BuildTitleIndex(title);
                html.AppendLine(titleIndex);
            }

            return(html.ToString());
        }
Ejemplo n.º 4
0
        public static StatuteListing BuildListing(List <Page> pages)
        {
            ExtractPageElements(pages);

            var indexPages = GetIndexPages(pages);
            var chapters   = new List <Chapter>();

            foreach (var indexPage in indexPages)
            {
                var chapter = BuildChapter(indexPage, pages);
                chapters.Add(chapter);
            }

            var listing = new StatuteListing();

            listing.Titles = BuildTitles(chapters, pages);
            return(listing);
        }
        internal string Format(StatuteListing listing)
        {
            var html = AddTopLevelHTML(listing);

            return(html);
        }