public static string ProcessCodesForLocalDisplay(string input, IProgress <string> progress) { input = BracketCodeFileDownloads.FileDownloadLinkCodeProcess(input, progress); input = BracketCodeFiles.FileLinkCodeProcess(input, progress); input = BracketCodeImages.ImageCodeProcessForDirectLocalAccess(input, progress); input = BracketCodeImageLinks.ImageLinkCodeProcess(input, progress); input = BracketCodeNotes.NoteLinkCodeProcess(input, progress); input = BracketCodePhotos.PhotoCodeProcessForDirectLocalAccess(input, progress); input = BracketCodePhotoLink.PhotoLinkCodeProcess(input, progress); input = BracketCodePosts.PostLinkCodeProcess(input, progress); input = BracketCodeSpecialPages.SpecialPagesCodeProcess(input, progress); return(input); }
public static string ProcessCodesForSite(string input, IProgress <string> progress) { input = BracketCodeFileDownloads.FileDownloadLinkCodeProcess(input, progress); input = BracketCodeFiles.FileLinkCodeProcess(input, progress); input = BracketCodeImages.ImageCodeProcessToFigureWithLink(input, progress); input = BracketCodeImageLinks.ImageLinkCodeProcess(input, progress); input = BracketCodeNotes.NoteLinkCodeProcess(input, progress); input = BracketCodePhotos.PhotoCodeProcessToFigureWithLink(input, progress); input = BracketCodePhotoLink.PhotoLinkCodeProcess(input, progress); input = BracketCodePosts.PostLinkCodeProcess(input, progress); input = BracketCodeSpecialPages.SpecialPagesCodeProcess(input, progress); return(input); }
public static async Task <HtmlTag> RelatedContentTag(Guid toCheckFor, string bodyContentToCheckIn, IProgress <string> progress = null) { var contentCommonList = new List <IContentCommon>(); var db = await Db.Context(); contentCommonList.AddRange(await RelatedContent(db, toCheckFor)); contentCommonList.AddRange(BracketCodeFiles.DbContentFromBracketCodes(bodyContentToCheckIn, progress)); contentCommonList.AddRange(BracketCodeImages.DbContentFromBracketCodes(bodyContentToCheckIn, progress)); contentCommonList.AddRange(BracketCodeImageLinks.DbContentFromBracketCodes(bodyContentToCheckIn, progress)); contentCommonList.AddRange(BracketCodeNotes.DbContentFromBracketCodes(bodyContentToCheckIn, progress)); contentCommonList.AddRange(BracketCodePosts.DbContentFromBracketCodes(bodyContentToCheckIn, progress)); var transformedList = new List <(DateTime sortDateTime, HtmlTag tagContent)>(); if (contentCommonList.Any()) { contentCommonList = contentCommonList.GroupBy(x => x.ContentId).Select(x => x.First()).ToList(); foreach (var loopContent in contentCommonList) { var toAdd = RelatedContentDiv(loopContent); if (toAdd != null && !toAdd.IsEmpty()) { transformedList.Add((loopContent.LastUpdatedOn ?? loopContent.CreatedOn, toAdd)); } } } var photoContent = BracketCodePhotos.DbContentFromBracketCodes(bodyContentToCheckIn, progress); photoContent.AddRange(BracketCodePhotoLink.DbContentFromBracketCodes(bodyContentToCheckIn, progress)); //If the object itself is a photo add it to the list photoContent.AddIfNotNull(await db.PhotoContents.SingleOrDefaultAsync(x => x.ContentId == toCheckFor)); if (photoContent.Any()) { var dates = photoContent.Select(x => x.PhotoCreatedOn.Date).Distinct().ToList(); foreach (var loopDates in dates) { var toAdd = await DailyPhotoPageGenerators.DailyPhotoGallery(loopDates); if (toAdd != null) { transformedList.Add((loopDates, DailyPhotosPageParts.DailyPhotosPageRelatedContentDiv(toAdd))); } } } var relatedTags = transformedList.OrderByDescending(x => x.sortDateTime).Select(x => x.tagContent).ToList(); if (!relatedTags.Any()) { return(HtmlTag.Empty()); } 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 relatedTags) { relatedPostsList.Children.Add(loopPost); } return(relatedPostsList); }