public async Task B21_FileMapAddingImageMapBracketCodeToBody() { var db = await Db.Context(); var mapImage = db.ImageContents.Single(x => x.Title == IronwoodImageInfo.MapContent01.Title); var mapFile = db.FileContents.Single(x => x.Title == TestFileInfo.MapContent01.Title); mapFile.BodyContent = $"{BracketCodeImages.Create(mapImage)} {Environment.NewLine}{Environment.NewLine}{mapFile.BodyContent}"; mapFile.LastUpdatedBy = "Test B21"; mapFile.LastUpdatedOn = DateTime.Now; var bodyUpdateReturn = await FileGenerator.SaveAndGenerateHtml(mapFile, UserSettingsSingleton.CurrentSettings().LocalMediaArchiveFileContentFile(mapFile), false, null, DebugTrackers.DebugProgressTracker()); Assert.False(bodyUpdateReturn.generationReturn.HasError, bodyUpdateReturn.generationReturn.GenerationNote); var mapFileRefresh = db.FileContents.Single(x => x.Title == TestFileInfo.MapContent01.Title); Assert.AreEqual(mapImage.ContentId, mapFileRefresh.MainPicture, "Adding an image code to the Map File Content Body didn't result in Main Image being set."); }
public static async Task <string> ToHtmlEmail(ImageContent content, IProgress <string> progress) { if (content == null) { return(string.Empty); } var mdBuilder = new StringBuilder(); mdBuilder.AppendLine(BracketCodeImages.Create(content)); if (!string.IsNullOrWhiteSpace(content.BodyContent)) { mdBuilder.AppendLine(); mdBuilder.AppendLine(content.BodyContent); } var tags = Tags.TagListTextLinkList(content); tags.Style("text-align", "center"); mdBuilder.AppendLine(tags.ToString()); mdBuilder.AppendLine(); mdBuilder.AppendLine($"<p style=\"text-align: center;\">{Tags.CreatedByAndUpdatedOnString(content)}</p>"); var preprocessResults = BracketCodeCommon.ProcessCodesForEmail(mdBuilder.ToString(), progress); var bodyHtmlString = ContentProcessing.ProcessContent(preprocessResults, content.BodyContentFormat); var innerContent = HtmlEmail.ChildrenIntoTableCells( $"{await HtmlEmail.EmailSimpleTitle(content)}{bodyHtmlString}{HtmlEmail.EmailSimpleFooter()}"); var emailHtml = HtmlEmail.WrapInNestedCenteringTable(innerContent); return(emailHtml); }