protected static void AddSeparator(HtmlTag uiContainer, CardElement cardElement, RenderContext context) { switch (cardElement.Separation) { case SeparationStyle.None: return; case SeparationStyle.Default: { SeparationConfig sep = context.GetElementSeparation(cardElement); var uiSep = new DivTag() .AddClass("ac-separator") .Style("height", $"{sep.Spacing}px"); uiContainer.Children.Add(uiSep); } return; case SeparationStyle.Strong: { SeparationConfig sep = context.Config.StrongSeparation; var uiSep = new DivTag() .AddClass("ac-separator") .Style("padding-top", $"{sep.Spacing}px") .Style("margin-top", $"{sep.Spacing}px") .Style("border-top-color", $"{context.GetRGBColor(sep.LineColor)}") .Style("border-top-width", $"{sep.LineThickness}px") .Style("border-top-style", "solid") ; uiContainer.Children.Add(uiSep); } return; } }
public static HtmlTag TagList(List <string> tags) { tags ??= new List <string>(); tags = tags.Where(x => !string.IsNullOrWhiteSpace(x)).Select(x => x.Trim()).ToList(); if (!tags.Any()) { return(HtmlTag.Empty()); } var tagsContainer = new DivTag().AddClass("tags-container"); tagsContainer.Children.Add(new DivTag().Text("Tags:").AddClass("tag-detail-label-tag")); foreach (var loopTag in tags) { var tagLinkContainer = new DivTag().AddClass("tags-detail-link-container"); var tagLink = new LinkTag(loopTag.Replace("-", " "), UserSettingsSingleton.CurrentSettings().TagPageUrl(loopTag)) .AddClass("tag-detail-link"); tagLinkContainer.Children.Add(tagLink); tagsContainer.Children.Add(tagLinkContainer); } return(tagsContainer); }
protected static void AddSeparator(HtmlTag uiContainer, CardElement cardElement, RenderContext context) { if (!cardElement.Separator && cardElement.Spacing == Spacing.None) { return; } int spacing = context.Config.GetSpacing(cardElement.Spacing); if (cardElement.Separator) { SeparatorConfig sep = context.Config.Separator; var uiSep = new DivTag() .AddClass("ac-separator") .Style("padding-top", $"{spacing}px") .Style("margin-top", $"{spacing}px") .Style("border-top-color", $"{context.GetRGBColor(sep.LineColor)}") .Style("border-top-width", $"{sep.LineThickness}px") .Style("border-top-style", "solid") ; uiContainer.Children.Add(uiSep); } else { var uiSep = new DivTag() .AddClass("ac-separator") .Style("height", $"{spacing}px"); uiContainer.Children.Add(uiSep); } }
public static HtmlTag ValidationText <T>(this HtmlHelpers <T> html, string name) { return(HtmlTag.Empty()); var result = html.RenderContext.Context.ModelValidationResult; if (result.IsValid) { return(HtmlTag.Empty()); } if (!result.Errors.ContainsKey(name)) { return(HtmlTag.Empty()); } var error = result.Errors[name]; if (error.Count == 0) { return(HtmlTag.Empty()); } var tag = new DivTag(); tag.Text(error[0]); return(tag.AddClass("error")); }
public static HtmlTag ActionAjax(this IHtmlHelper helper, string url, int minHeight, string placeholderText) { var placeholderTag = new DivTag(); placeholderTag.Append(new HtmlTag("h6").Text(placeholderText)); var spinnerTag = new DivTag(); spinnerTag.Append(new HtmlTag("i").AddClasses("fa", "fa-spinner", "fa-pulse", "fa-fw")); var errorMessage = "Restarting the ODS / API is known to solve issues with first time setup or previously cached information, and may help resolve this issue on its own." + " Please try restarting the ODS / API now and reload this to see if this same error occurs." + " If the error persists, please check the application logs and then feel to schedule a ticket via <a href='https://tracker.ed-fi.org/projects/EDFI/issues'>Ed-Fi Tracker</a>" + " or visit <a href='https://techdocs.ed-fi.org/display/ADMIN'>Admin App documentation</a> for more information."; var contentLoadingArea = new DivTag().Data("source-url", url).Data("error-message", errorMessage).AddClass("load-action-async"); if (minHeight > 0) { //adding a minimum height is optional, but can help prevent the page scrollbar from jumping around while content loads contentLoadingArea.Attr("style", $"min-height: {minHeight}px"); } contentLoadingArea.Append(placeholderTag); contentLoadingArea.Append(spinnerTag); return(contentLoadingArea); }
public static HtmlTag CoreLinksDiv(IProgress <string> progress = null) { var db = Db.Context().Result; var items = db.MenuLinks.OrderBy(x => x.MenuOrder).ToList(); if (!items.Any()) { return(HtmlTag.Empty()); } var coreLinksDiv = new DivTag().AddClass("core-links-container"); foreach (var loopItems in items) { var html = ContentProcessing.ProcessContent( BracketCodeCommon.ProcessCodesForSite(loopItems.LinkTag, progress), ContentFormatEnum.MarkdigMarkdown01); var coreLinkContainer = new DivTag().AddClass("core-links-item").Text(html).Encoded(false); coreLinksDiv.Children.Add(coreLinkContainer); } return(coreLinksDiv); }
public static void CheckVerticleScrollBar(bool isVisible) { string show = (isVisible == true)?"":"NOT"; try{ DivTag verticalScrollBar = Host.Local.FindSingle <DivTag>(@"/dom//div[@class='nicescroll-rails' and @visible='True']", 10000); DivTag verticalChildScrollBar = Host.Local.FindSingle <DivTag>(@"/dom//div[@class='nicescroll-rails' and @visible='True']/div", 10000); //get height of scrollbar and height of scroll item double h1 = verticalScrollBar.ScreenRectangle.Height; double h2 = verticalChildScrollBar.ScreenRectangle.Height; //calculate how many times need to press page down int step = (int)Math.Ceiling(h1 / h2); //press page down for (int i = 0; i < step; i++) { Keyboard.Press("{Next}"); Delay.Milliseconds(1000); } Report.Log((isVisible == true)?ReportLevel.Success:ReportLevel.Failure, "Check Vertical scroll bar is " + show + " shown"); } catch (ElementNotFoundException ex) { Report.Log((isVisible == true)?ReportLevel.Failure:ReportLevel.Success, "Check Vertical scroll bar is " + show + " shown"); } }
static void Main(string[] args) { Tag html = new HtmlTag(); Tag body = new BodyTag(); Tag head = new HeadTag(); Tag title = new TitleTag(); Tag div = new DivTag(); Element elem1 = new Element(); Element elem2 = new Element(); Element elem3 = new Element(); Tag brr = new BrTag(); Tag h1 = new H1Tag(); elem1.SetContent("titlu"); elem2.SetContent("giele"); elem3.SetContent("gielesss"); html.AddTag(head); html.AddTag(body); head.AddElement(elem1); head.AddTag(brr); head.AddTag(title); head.AddElement(elem2); head.AddTag(title); head.AddElement(elem3); body.AddTag(div); div.AddTag(h1); div.AddAttribute("color", "blue"); div.AddAttribute("color1", "red"); //title.SetContent("Gigi 4 the WIN!!"); //head.SetContent("gigel"); //html.Render(); Parser.ParseFile("index.html"); }
public HtmlTag FilterCheckboxesTag() { var allContent = ContentFunction(); var filterTags = allContent.Select(TypeToFilterTag).Distinct().ToList(); if (filterTags.Count() < 2) { return(HtmlTag.Empty()); } var filterContainer = new DivTag().AddClass("content-list-filter-container"); var textInfo = new CultureInfo("en-US", false).TextInfo; foreach (var loopTag in filterTags) { var itemContainer = new DivTag().AddClass("content-list-filter-item"); var checkbox = new CheckboxTag(false).Id($"{loopTag}-content-list-filter-checkbox") .AddClass("content-list-filter-checkbox").Value(loopTag).Attr("onclick", "searchContent()"); var label = new HtmlTag("label").AddClass("content-list-filter-checkbox-label") .Text(textInfo.ToTitleCase(loopTag)); itemContainer.Children.Add(checkbox); itemContainer.Children.Add(label); filterContainer.Children.Add(itemContainer); } return(filterContainer); }
public static HtmlTag PreviousAndNextPostsDiv(DailyPhotosPage photoPage) { if (photoPage.PreviousDailyPhotosPage == null && photoPage.NextDailyPhotosPage == null) { return(HtmlTag.Empty()); } var hasPreviousPosts = photoPage.PreviousDailyPhotosPage != null; var hasLaterPosts = photoPage.NextDailyPhotosPage != null; var hasBothEarlierAndLaterPosts = hasPreviousPosts && hasLaterPosts; var relatedPostsContainer = new DivTag().AddClass("post-related-posts-container"); relatedPostsContainer.Children.Add(new DivTag() .Text($"Daily Photos {(hasPreviousPosts ? "Before" : "")}" + $"{(hasBothEarlierAndLaterPosts ? "/" : "")}{(hasLaterPosts ? "After" : "")}:") .AddClass("post-related-posts-label-tag")); if (hasPreviousPosts) { relatedPostsContainer.Children.Add(DailyPhotosPageRelatedContentDiv(photoPage.PreviousDailyPhotosPage)); } if (hasLaterPosts) { relatedPostsContainer.Children.Add(DailyPhotosPageRelatedContentDiv(photoPage.NextDailyPhotosPage)); } return(relatedPostsContainer); }
protected static HtmlTag AdaptiveCardRender(AdaptiveCard card, AdaptiveRenderContext context) { var html = new HtmlTag("html"); var head = new HtmlTag("head"); var body = new HtmlTag("body"); var form = new HtmlTag("form") .Attr("method", "post"); var stylesheet = new HtmlTag("link") .Attr("rel", "stylesheet") .Attr("href", "https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css"); var container = new DivTag() .AddClass("container"); html.Append(head); html.Append(body); head.Append(stylesheet); body.Append(form); form.Append(container); AddContainerElements(container, card.Body, context); AddActions(container, card.Actions, context); return(html); }
public static async Task <HtmlTag> RelatedContentTag(List <Guid> toCheckFor, DateTime?generationVersion) { toCheckFor ??= new List <Guid>(); var db = await Db.Context(); var allRelated = new List <IContentCommon>(); foreach (var loopGuid in toCheckFor) { allRelated.AddRange(await db.RelatedContentReferencesFromOtherContent(loopGuid, generationVersion)); } if (!allRelated.Any()) { return(HtmlTag.Empty()); } allRelated = allRelated.Distinct().OrderByDescending(x => x.LastUpdatedOn ?? x.CreatedOn).ToList(); var relatedPostsList = new DivTag().AddClass("related-posts-list-container"); relatedPostsList.Children.Add(new DivTag().Text("Related:").AddClass("related-post-label-tag")); foreach (var loopPost in allRelated) { relatedPostsList.Children.Add(RelatedContentDiv(loopPost)); } return(relatedPostsList); }
private static DivTag BuildTestDiv(Stack <int> indexes, int depth) { var div = new DivTag(); div.AddClass("depth-level"); var classToAdd = "depth-level-{0}".ToFormat(depth); div.AddClass(classToAdd); indexes.Each(x => { classToAdd += "-" + x; div.AddClass(classToAdd); }); var span = new HtmlTag("span"); span.Text("{0}Div at depth {1} index {2}".ToFormat(new String('-', depth), depth, indexes.Peek())); div.Children.Add(span); if (depth < 3) { for (var i = 0; i < 3; i++) { indexes.Push(i); var childDiv = BuildTestDiv(indexes, depth + 1); indexes.Pop(); div.Children.Add(childDiv); } } return(div); }
public static HtmlTag PhotoDetailsDiv(PhotoContent dbEntry) { var outerContainer = new DivTag().AddClass("photo-details-container"); outerContainer.Children.Add(new DivTag().AddClass("photo-detail-label-tag").Text("Details:")); outerContainer.Children.Add(Tags.InfoDivTag(dbEntry.Aperture, "photo-detail", "aperture", dbEntry.Aperture)); outerContainer.Children.Add(Tags.InfoDivTag(dbEntry.ShutterSpeed, "photo-detail", "shutter-speed", dbEntry.ShutterSpeed)); //InfoDivTag guards against null and empty but because we put ISO in the string guard against blank (and sanity check) ISO. if (dbEntry.Iso != null && dbEntry.Iso.Value > 0) { outerContainer.Children.Add(Tags.InfoDivTag($"ISO {dbEntry.Iso?.ToString("F0")}", "photo-detail", "iso", dbEntry.Iso?.ToString("F0"))); } outerContainer.Children.Add(Tags.InfoDivTag(dbEntry.Lens, "photo-detail", "lens", dbEntry.Lens)); outerContainer.Children.Add(Tags.InfoDivTag(dbEntry.FocalLength, "photo-detail", "focal-length", dbEntry.FocalLength)); outerContainer.Children.Add(Tags.InfoDivTag(dbEntry.CameraMake, "photo-detail", "camera-make", dbEntry.CameraMake)); outerContainer.Children.Add(Tags.InfoDivTag(dbEntry.CameraModel, "photo-detail", "camera-model", dbEntry.CameraModel)); outerContainer.Children.Add(Tags.InfoDivTag(dbEntry.License, "photo-detail", "license", dbEntry.License)); //Return empty if there are no details return(outerContainer.Children.Count(x => !x.IsEmpty()) > 1 ? outerContainer : HtmlTag.Empty()); }
protected static HtmlTag TextInputRender(AdaptiveTextInput input, AdaptiveRenderContext context) { var formGroup = new DivTag() .AddClass("form-group") .Attr("hidden", !input.IsVisible); if (!string.IsNullOrEmpty(input.Label)) { var formLabel = new HtmlTag("label") .Attr("for", input.Id) .SetInnerText(input.Label); formGroup.Children.Add(formLabel); } var formControl = new HtmlTag(input.IsMultiline ? "textarea" : "input") .AddClass("form-control") .Attr("name", input.Id) .Attr("placeholder", input.Placeholder) .Attr("pattern", input.Regex) .Attr("type", input.Style.ToString()) .Attr("value", input.Value) .Attr("required", input.IsRequired) .Attr("title", input.ErrorMessage); if (input.MaxLength > 0) { formControl.Attr("maxlength", input.MaxLength.ToString()); } formGroup.Children.Add(formControl); return(formGroup); }
public HtmlTag IndexPosts() { if (!IndexContent.Any()) { return(HtmlTag.Empty()); } var indexBodyContainer = new DivTag().AddClass("index-posts-container"); foreach (var loopPosts in IndexContent.Take(_numberOfContentItemsToDisplay)) { if (loopPosts.GetType() == typeof(PostContent)) { var post = new SinglePostDiv(loopPosts); var indexPostContentDiv = new DivTag().AddClass("index-posts-content"); indexPostContentDiv.Encoded(false).Text(post.TransformText()); indexBodyContainer.Children.Add(indexPostContentDiv); indexBodyContainer.Children.Add(HorizontalRule.StandardRule()); } if (loopPosts.GetType() == typeof(NoteContent)) { var post = new SingleNoteDiv(loopPosts); var indexPostContentDiv = new DivTag().AddClass("index-posts-content"); indexPostContentDiv.Encoded(false).Text(post.TransformText()); indexBodyContainer.Children.Add(indexPostContentDiv); indexBodyContainer.Children.Add(HorizontalRule.StandardRule()); } if (loopPosts.GetType() == typeof(PhotoContent)) { var post = new SinglePhotoDiv(loopPosts); var indexPostContentDiv = new DivTag().AddClass("index-posts-content"); indexPostContentDiv.Encoded(false).Text(post.TransformText()); indexBodyContainer.Children.Add(indexPostContentDiv); indexBodyContainer.Children.Add(HorizontalRule.StandardRule()); } if (loopPosts.GetType() == typeof(ImageContent)) { var post = new SingleImageDiv(loopPosts); var indexPostContentDiv = new DivTag().AddClass("index-posts-content"); indexPostContentDiv.Encoded(false).Text(post.TransformText()); indexBodyContainer.Children.Add(indexPostContentDiv); indexBodyContainer.Children.Add(HorizontalRule.StandardRule()); } if (loopPosts.GetType() == typeof(FileContent)) { var post = new SingleFileDiv(loopPosts); var indexPostContentDiv = new DivTag().AddClass("index-posts-content"); indexPostContentDiv.Encoded(false).Text(post.TransformText()); indexBodyContainer.Children.Add(indexPostContentDiv); indexBodyContainer.Children.Add(HorizontalRule.StandardRule()); } } return(indexBodyContainer); }
/// <summary> /// Scieżka do lewego grida /// </summary> //private string pathToSwitchPanelLeft = "/div[@id~'vswitchpanel' and id~'-targetEl']/div[@id~'vgrid' and childindex=0]"; //public string PathToSwitchPanelLeft //{ // get { return pathToSwitchPanelLeft; } // set { pathToSwitchPanelLeft = value; } //} ///// <summary> ///// Scieżka do prawego grida ///// </summary> //private string pathToSwitchPanelRight = "/div[@id~'vswitchpanel' and id~'-targetEl']/div[@id~'vgrid' and childindex=2]"; //public string PathToSwitchPanelRight //{ // get { return pathToSwitchPanelRight; } // set { pathToSwitchPanelRight = value; } //} public VSwitchPanel(WebDocument openWebsite, int?browserId, string idOkna) : base(openWebsite, browserId, idOkna) { WaitForLoad(); var _headerWidow = OpenWebsite.FindSingle <SpanTag>(string.Format(".//div[@class~'x-window']//span[@innertext='{0}' and @class~'x-window-header-text']", idOkna)); this._windowDialog = _headerWidow.Parent.Parent.Parent.Parent.Parent.Parent.As <DivTag>(); }
protected VEditorPage(WebDocument openWebsite, int?browserId, string idOkna, Field[] fields, bool bezNaglowka = false, bool visibleOnly = true) : base(openWebsite, browserId, idOkna, bezNaglowka, visibleOnly) { _fields = fields; _mainWidnowDiv = string.Format(_mainWidnowDiv, idOkna); WaitForLoad(); _window = OknoDialogowe; }
protected DivTag BuildDiv() { var divTag = new DivTag("imageDiv"); divTag.Attr("title", _toolTip); divTag.AddClasses(_divCssClasses); return(divTag); }
public static HtmlTag CreatedByAndUpdatedOnDiv(ICreatedAndLastUpdateOnAndBy dbEntry) { var titleContainer = new DivTag().AddClass("created-and-updated-container"); titleContainer.Children.Add(new DivTag().AddClass("created-and-updated-content") .Text(CreatedByAndUpdatedOnString(dbEntry))); return(titleContainer); }
protected static HtmlTag ActionSetRender(TypedElement element, RenderContext context) { ActionSet actionSet = (ActionSet)element; var uiContainer = new DivTag() .AddClass($"ac-{element.Type.Replace(".", "").ToLower()}"); AddContainerElements(uiContainer, null, actionSet.Actions, context); return(uiContainer); }
private DivTag PobierzAktualnyWydrukPaneluPobieraniaWydrukow(DivTag divContainer) { DebugLog("Pobierz aktualny wydruk"); return(divContainer.FindDescendant <SpanTag>() .FindDescendant <DivTag>() .FindDescendants <DivTag>()[0] .FindDescendant <DivTag>() .FindDescendant <DivTag>()); }
private HtmlTag ContainerRender(AdaptiveContainer container, AdaptiveRenderContext context) { var div = new DivTag() .Attr("hidden", !container.IsVisible); AddContainerElements(div, container.Items, context); return(div); }
public VMessageBox(WebDocument openWebsite, int?browserId) : base(openWebsite, browserId) { WaitForLoad(); this._webDoc = openWebsite; this._browserId = browserId; DebugLog("Odszukaj okno komunikatów"); this._windowDialog = this.WebDoc.FindSingle <DivTag>(".//div[@id~'^messagebox' and @class~'x-message-box']"); }
public static HtmlTag FromContentCommon(IContentCommon content) { if (content == null) { return(HtmlTag.Empty()); } var compactContentContainerDiv = new DivTag().AddClass("content-compact-container"); var linkTo = UserSettingsSingleton.CurrentSettings().ContentUrl(content.ContentId).Result; if (content.MainPicture != null) { var compactContentMainPictureContentDiv = new DivTag().AddClass("content-compact-image-content-container"); var image = new PictureSiteInformation(content.MainPicture.Value); compactContentMainPictureContentDiv.Children.Add(Tags.PictureImgThumbWithLink(image.Pictures, linkTo)); compactContentContainerDiv.Children.Add(compactContentMainPictureContentDiv); } var compactContentMainTextContentDiv = new DivTag().AddClass("content-compact-text-content-container"); var compactContentMainTextTitleTextDiv = new DivTag().AddClass("content-compact-text-content-title-container"); var compactContentMainTextTitleLink = new LinkTag(content.Title, linkTo).AddClass("content-compact-text-content-title-link"); compactContentMainTextTitleTextDiv.Children.Add(compactContentMainTextTitleLink); HtmlTag compactContentSummaryTextDiv; if (content.MainPicture == null) { compactContentSummaryTextDiv = new DivTag().AddClass("content-compact-text-content-summary") .Text(content.Summary); } else { compactContentSummaryTextDiv = new DivTag().AddClass("content-compact-text-content-optional-summary") .Text(content.Summary); } var compactContentMainTextCreatedOrUpdatedTextDiv = new DivTag() .AddClass("content-compact-text-content-date") .Text(Tags.LatestCreatedOnOrUpdatedOn(content)?.ToString("M/d/yyyy") ?? string.Empty); compactContentMainTextContentDiv.Children.Add(compactContentMainTextTitleTextDiv); compactContentMainTextContentDiv.Children.Add(compactContentSummaryTextDiv); compactContentMainTextContentDiv.Children.Add(compactContentMainTextCreatedOrUpdatedTextDiv); compactContentContainerDiv.Children.Add(compactContentMainTextContentDiv); return(compactContentContainerDiv); }
private HtmlTag ColumnRender(AdaptiveColumn column, AdaptiveRenderContext context) { var div = new DivTag() .AddClass("col") .Attr("hidden", !column.IsVisible); AddContainerElements(div, column.Items, context); return(div); }
private static HtmlTag MakeRadioButton(string display, object value, string name) { DivTag divTag = new DivTag(display); HtmlTag radioButton = new RadioButtonTag(false).Attr("value", value).Attr("name", name); HtmlTag label = new HtmlTag("label").Text(display); label.AddChildren(radioButton); divTag.AddChildren(label); return(divTag); }
public static IHtmlString ButtonSubmit <T>(this HtmlHelper <T> helper, string text) { var button = new HtmlTag("button") .AddClasses("button button--primary") .Text(text); var formGroup = new DivTag().AddClasses("form-group").Append(button); return(formGroup); }
public HtmlTag ContentTableTag() { var allContent = ContentFunction(); var allContentContainer = new DivTag().AddClass("content-list-container"); foreach (var loopContent in allContent) { if (loopContent is IContentCommon loopContentCommon) { var photoListPhotoEntryDiv = new DivTag().AddClass("content-list-item-container"); photoListPhotoEntryDiv.Data("title", loopContentCommon.Title); photoListPhotoEntryDiv.Data("tags", string.Join(",", Db.TagListParseToSlugs(loopContentCommon, false))); photoListPhotoEntryDiv.Data("summary", loopContentCommon.Summary); photoListPhotoEntryDiv.Data("contenttype", TypeToFilterTag(loopContentCommon)); photoListPhotoEntryDiv.Children.Add(ContentCompact.FromContentCommon(loopContentCommon)); allContentContainer.Children.Add(photoListPhotoEntryDiv); } else if (loopContent is LinkStream loopLinkContent) { var photoListPhotoEntryDiv = new DivTag().AddClass("content-list-item-container"); var titleList = new List <string>(); if (!string.IsNullOrWhiteSpace(loopLinkContent.Title)) { titleList.Add(loopLinkContent.Title); } if (!string.IsNullOrWhiteSpace(loopLinkContent.Site)) { titleList.Add(loopLinkContent.Site); } if (!string.IsNullOrWhiteSpace(loopLinkContent.Author)) { titleList.Add(loopLinkContent.Author); } photoListPhotoEntryDiv.Data("title", string.Join(" - ", titleList)); photoListPhotoEntryDiv.Data("tags", string.Join(",", Db.TagListParseToSlugs(loopLinkContent.Tags, false))); photoListPhotoEntryDiv.Data("summary", $"{loopLinkContent.Description} {loopLinkContent.Comments}"); photoListPhotoEntryDiv.Data("contenttype", TypeToFilterTag(loopLinkContent)); photoListPhotoEntryDiv.Children.Add(ContentCompact.FromLinkStream(loopLinkContent)); allContentContainer.Children.Add(photoListPhotoEntryDiv); } } return(allContentContainer); }
public static HtmlTag PageCreatedDiv(ICreatedAndLastUpdateOnAndBy createdBy) { var createdByDiv = new DivTag().AddClass("created-by-container"); createdByDiv.Children.Add(new HtmlTag("div").AddClass("created-title")); createdByDiv.Children.Add(new HtmlTag("p").AddClass("created-by-content").Text( $"Page Created by {createdBy.CreatedBy}, {createdBy.CreatedOn:M/d/yyyy}")); return(createdByDiv); }