public async Task A21_PhotoEditorGuiContextEditOfQuarryPhoto() { ThreadSwitcher.PinnedDispatcher = Dispatcher.CurrentDispatcher; DataNotifications.SuspendNotifications = false; DataNotifications.NewDataNotificationChannel().MessageReceived += DebugTrackers.DataNotificationDiagnostic; var db = await Db.Context(); var quarryPhoto = db.PhotoContents.Single(x => x.Title == IronwoodPhotoInfo.QuarryContent01.Title); var newContext = await PhotoContentEditorContext.CreateInstance(null); await newContext.LoadData(quarryPhoto); newContext.TitleSummarySlugFolder.TitleEntry.UserValue = string.Empty; Assert.True(newContext.TitleSummarySlugFolder.TitleEntry.HasChanges); Assert.True(newContext.TitleSummarySlugFolder.TitleEntry.HasValidationIssues); newContext.TitleSummarySlugFolder.TitleEntry.UserValue = IronwoodPhotoInfo.QuarryContent01.Title; Assert.False(newContext.TitleSummarySlugFolder.TitleEntry.HasChanges); newContext.TitleSummarySlugFolder.SlugEntry.UserValue += "\\\\"; Assert.True(newContext.TitleSummarySlugFolder.SlugEntry.HasValidationIssues); Assert.True(newContext.TitleSummarySlugFolder.SlugEntry.HasChanges); newContext.TitleSummarySlugFolder.SlugEntry.UserValue = IronwoodPhotoInfo.QuarryContent02_BodyContentUpdateNotesTags.Slug; Assert.False(newContext.TitleSummarySlugFolder.SlugEntry.HasValidationIssues); newContext.TitleSummarySlugFolder.FolderEntry.UserValue = IronwoodPhotoInfo.QuarryContent02_BodyContentUpdateNotesTags.Folder; Assert.False(newContext.TitleSummarySlugFolder.FolderEntry.HasValidationIssues); newContext.TagEdit.Tags = IronwoodPhotoInfo.QuarryContent02_BodyContentUpdateNotesTags.Tags; Assert.False(newContext.TagEdit.HasValidationIssues); Assert.True(newContext.TagEdit.HasChanges); newContext.BodyContent.BodyContent = IronwoodPhotoInfo.QuarryContent02_BodyContentUpdateNotesTags.BodyContent; Assert.True(newContext.BodyContent.BodyContentHasChanges); newContext.UpdateNotes.UpdateNotes = IronwoodPhotoInfo.QuarryContent02_BodyContentUpdateNotesTags.UpdateNotes; Assert.True(newContext.UpdateNotes.UpdateNotesHasChanges); await newContext.SaveAndGenerateHtml(true); var comparison = IronwoodPhotoInfo.CompareContent(IronwoodPhotoInfo.QuarryContent02_BodyContentUpdateNotesTags, newContext.DbEntry); Assert.True(comparison.areEqual, comparison.comparisonNotes); }
public async Task A10_PhotoLoadTest() { await IronwoodPhotoInfo.PhotoTest(IronwoodPhotoInfo.AguaBlancaFileName, IronwoodPhotoInfo.AguaBlancaContent, IronwoodPhotoInfo.AguaBlancaWidth); await IronwoodPhotoInfo.PhotoTest(IronwoodPhotoInfo.IronwoodTreeFileName, IronwoodPhotoInfo.IronwoodTreeContent01, IronwoodPhotoInfo.IronwoodTreeWidth); await IronwoodPhotoInfo.PhotoTest(IronwoodPhotoInfo.QuarryFileName, IronwoodPhotoInfo.QuarryContent01, IronwoodPhotoInfo.QuarryWidth); await IronwoodPhotoInfo.PhotoTest(IronwoodPhotoInfo.IronwoodPodFileName, IronwoodPhotoInfo.IronwoodPodContent01, IronwoodPhotoInfo.IronwoodPodWidth); await IronwoodPhotoInfo.PhotoTest(IronwoodPhotoInfo.DisappearingFileName, IronwoodPhotoInfo.DisappearingContent, IronwoodPhotoInfo.DisappearingWidth); }
public async Task A22_PhotoExcelUpdate() { var db = await Db.Context(); var podPhoto = db.PhotoContents.Single(x => x.Title == IronwoodPhotoInfo.IronwoodPodContent01.Title); var treePhoto = db.PhotoContents.Single(x => x.Title == IronwoodPhotoInfo.IronwoodTreeContent01.Title); var items = new List <object> { podPhoto, treePhoto }; var excelFileExport = ExcelHelpers.ContentToExcelFileAsTable(items, "IronwoodTestExport01", false); var workbook = new XLWorkbook(excelFileExport.FullName); var worksheet = workbook.Worksheets.First(); var headerRow = worksheet.RangeUsed().Rows(1, 1); var contentIdSheetColumn = headerRow.Cells().First(x => x.Value.ToString() == "ContentId").WorksheetColumn() .ColumnNumber(); var slugSheetColumn = headerRow.Cells().First(x => x.Value.ToString() == "Slug").WorksheetColumn() .ColumnNumber(); var titleSheetColumn = headerRow.Cells().First(x => x.Value.ToString() == "Title").WorksheetColumn() .ColumnNumber(); var summarySheetColumn = headerRow.Cells().First(x => x.Value.ToString() == "Summary").WorksheetColumn() .ColumnNumber(); var tagsSheetColumn = headerRow.Cells().First(x => x.Value.ToString() == "Tags").WorksheetColumn() .ColumnNumber(); var updateNotesSheetColumn = headerRow.Cells().First(x => x.Value.ToString() == "UpdateNotes") .WorksheetColumn().ColumnNumber(); var updatedBySheetColumn = headerRow.Cells().First(x => x.Value.ToString() == "LastUpdatedBy") .WorksheetColumn().ColumnNumber(); var lensSheetColumn = headerRow.Cells().First(x => x.Value.ToString() == "Lens").WorksheetColumn() .ColumnNumber(); var cameraModelSheetColumn = headerRow.Cells().First(x => x.Value.ToString() == "CameraModel") .WorksheetColumn().ColumnNumber(); var idColumn = worksheet.Column(contentIdSheetColumn).Intersection(worksheet.RangeUsed()).AsRange(); var treeSheetPossibleRow = idColumn.Cells().FirstOrDefault(x => x.Value.ToString() == treePhoto.ContentId.ToString()); Assert.NotNull(treeSheetPossibleRow, "No Row found for the tree photo in the Excel Import?"); var treeSheetRow = treeSheetPossibleRow.WorksheetRow().RowNumber(); worksheet.Cell(treeSheetRow, slugSheetColumn).Value = IronwoodPhotoInfo.IronwoodTreeContent02_SlugTitleSummaryTagsUpdateNotesUpdatedBy.Slug; worksheet.Cell(treeSheetRow, titleSheetColumn).Value = IronwoodPhotoInfo .IronwoodTreeContent02_SlugTitleSummaryTagsUpdateNotesUpdatedBy.Title; worksheet.Cell(treeSheetRow, summarySheetColumn).Value = IronwoodPhotoInfo .IronwoodTreeContent02_SlugTitleSummaryTagsUpdateNotesUpdatedBy.Summary; worksheet.Cell(treeSheetRow, tagsSheetColumn).Value = IronwoodPhotoInfo.IronwoodTreeContent02_SlugTitleSummaryTagsUpdateNotesUpdatedBy.Tags; worksheet.Cell(treeSheetRow, updateNotesSheetColumn).Value = IronwoodPhotoInfo .IronwoodTreeContent02_SlugTitleSummaryTagsUpdateNotesUpdatedBy.UpdateNotes; worksheet.Cell(treeSheetRow, updatedBySheetColumn).Value = IronwoodPhotoInfo .IronwoodTreeContent02_SlugTitleSummaryTagsUpdateNotesUpdatedBy.LastUpdatedBy; var podSheetRow = idColumn.Cells().First(x => x.Value.ToString() == podPhoto.ContentId.ToString()) .WorksheetRow().RowNumber(); worksheet.Cell(podSheetRow, cameraModelSheetColumn).Value = IronwoodPhotoInfo.IronwoodPodContent02_CamerModelLensSummary.CameraModel; worksheet.Cell(podSheetRow, lensSheetColumn).Value = IronwoodPhotoInfo.IronwoodPodContent02_CamerModelLensSummary.Lens; worksheet.Cell(podSheetRow, summarySheetColumn).Value = IronwoodPhotoInfo.IronwoodPodContent02_CamerModelLensSummary.Summary; worksheet.Cell(podSheetRow, updatedBySheetColumn).Value = IronwoodPhotoInfo.IronwoodPodContent02_CamerModelLensSummary.LastUpdatedBy; workbook.Save(); var importResult = await ExcelContentImports.ImportFromFile(excelFileExport.FullName, DebugTrackers.DebugProgressTracker()); Assert.False(importResult.HasError, "Unexpected Excel Import Failure"); Assert.AreEqual(2, importResult.ToUpdate.Count, "Unexpected number of rows to update"); var updateSaveResult = await ExcelContentImports.SaveAndGenerateHtmlFromExcelImport(importResult, DebugTrackers.DebugProgressTracker()); Assert.False(updateSaveResult.hasError); var updatedPodPhoto = db.PhotoContents.Single(x => x.Title == IronwoodPhotoInfo.IronwoodPodContent02_CamerModelLensSummary.Title); var updatedTreePhoto = db.PhotoContents.Single(x => x.Title == IronwoodPhotoInfo.IronwoodTreeContent02_SlugTitleSummaryTagsUpdateNotesUpdatedBy.Title); var podReference = IronwoodPhotoInfo.IronwoodPodContent02_CamerModelLensSummary; podReference.LastUpdatedOn = updatedPodPhoto.LastUpdatedOn; var updatedPodComparison = IronwoodPhotoInfo.CompareContent(podReference, updatedPodPhoto); Assert.True(updatedPodComparison.areEqual, $"Excel Pod Picture Update Issues: {updatedPodComparison.comparisonNotes}"); var treeReference = IronwoodPhotoInfo.IronwoodTreeContent02_SlugTitleSummaryTagsUpdateNotesUpdatedBy; treeReference.LastUpdatedOn = updatedTreePhoto.LastUpdatedOn; var updatedTreeComparison = IronwoodPhotoInfo.CompareContent(treeReference, updatedTreePhoto); Assert.True(updatedTreeComparison.areEqual, $"Excel Tree Picture Update Issues: {updatedPodComparison.comparisonNotes}"); }