public ActionResult DoPublishingProcessing(ManageExcelUploadsAndEtlViewModel viewModel) { if (!ModelState.IsValid) { throw new SitkaDisplayErrorException("Not expecting model state to be bad; not running publishing processing."); } bool wasErrorDuringProcessing = false; DateTime startTime = DateTime.Now; try { DoPublishingSql(); var tabularImports = HttpRequestStorage.DatabaseEntities.TabularDataImports.ToList(); var processedDateTime = DateTime.Now; var latestImportForNortheast = TabularDataImport.GetLatestImportProcessingForGivenType(tabularImports, TabularDataImportTableType.LoaNortheast); var latestImportForSoutheast = TabularDataImport.GetLatestImportProcessingForGivenType(tabularImports, TabularDataImportTableType.LoaSoutheast); if (latestImportForSoutheast != null) { latestImportForSoutheast.LastProcessedDate = processedDateTime; latestImportForSoutheast.LastProcessedPerson = CurrentPerson; } if (latestImportForNortheast != null) { latestImportForNortheast.LastProcessedDate = processedDateTime; latestImportForNortheast.LastProcessedPerson = CurrentPerson; } HttpRequestStorage.DatabaseEntities.SaveChanges(CurrentPerson); } catch (Exception e) { SetInfoForDisplay($"Problem executing Publishing: {e.Message}"); wasErrorDuringProcessing = true; } DateTime endTime = DateTime.Now; var elapsedTime = endTime - startTime; string processingTimeString = GetTaskTimeString("Publishing", elapsedTime); if (!wasErrorDuringProcessing) { SetMessageForDisplay($"Publishing Processing completed Successfully.<br/>{processingTimeString}"); } else { // Apparently at the moment we can only have one error/warning, so since I want TWO messages, resorting to // an error and a warning. SetErrorForDisplay($"Publishing Processing had problems.<br/>{processingTimeString}"); } return(RedirectToAction(new SitkaRoute <ExcelUploadController>(x => x.ManageExcelUploadsAndEtl()))); }
public ManageExcelUploadsAndEtlViewData(Person currentPerson, Models.FirmaPage firmaPage, string uploadLoaNortheastSpreadSheetUrl, string uploadLoaSoutheastSpreadSheetUrl, string doPublishingProcessingPostUrl, string uploadLoaFormID, List <TabularDataImport> tabularDataImports ) : base(currentPerson, firmaPage) { PageTitle = $"Upload Loa Tabular Data"; UploadLoaNortheastSpreadSheetUrl = uploadLoaNortheastSpreadSheetUrl; UploadLoaSoutheastSpreadSheetUrl = uploadLoaSoutheastSpreadSheetUrl; UploadLoaFormID = uploadLoaFormID; DoPublishingProcessingPostUrl = doPublishingProcessingPostUrl; LatestTabularDataImportForLoaNortheast = TabularDataImport.GetLatestImportProcessingForGivenType(tabularDataImports, TabularDataImportTableType.LoaNortheast); LatestTabularDataImportForLoaSoutheast = TabularDataImport.GetLatestImportProcessingForGivenType(tabularDataImports, TabularDataImportTableType.LoaSoutheast); }