public static async Task AllEventsExcelReport() { await ThreadSwitcher.ResumeBackgroundAsync(); var log = await Db.Log(); var htmlTable = log.EventLogs.OrderByDescending(x => x.RecordedOn).Cast <object>().ToList(); ExcelHelpers.ContentToExcelFileAsTable(htmlTable, "AllEventsReport"); }
public static async Task DiagnosticEventsExcelReport() { await ThreadSwitcher.ResumeBackgroundAsync(); var log = await Db.Log(); var htmlTable = log.EventLogs.Where(x => x.Category == "Diagnostic" || x.Category == "Startup") .OrderByDescending(x => x.RecordedOn).Cast <object>().ToList(); ExcelHelpers.ContentToExcelFileAsTable(htmlTable, "DiagnosticEventsReport"); }
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}"); }