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()))); }
private ViewResult ViewManageExcelUploadsAndEtl_Impl() { var firmaPage = FirmaPage.GetFirmaPageByPageType(FirmaPageType.UploadLoaTabularDataExcel); var loaUploadFormID = GenerateUploadLoaFileUploadFormId(); var newLoaNortheastExcelFileUpload = SitkaRoute <ExcelUploadController> .BuildUrlFromExpression(x => x.ImportLoaNortheastExcelFile()); var newLoaSoutheastExcelFileUpload = SitkaRoute <ExcelUploadController> .BuildUrlFromExpression(x => x.ImportLoaSoutheastExcelFile()); var doPublishingProcessingPostUrl = SitkaRoute <ExcelUploadController> .BuildUrlFromExpression(x => x.DoPublishingProcessing(null)); var listOfTabularDataImports = HttpRequestStorage.DatabaseEntities.TabularDataImports.ToList(); var viewData = new ManageExcelUploadsAndEtlViewData(CurrentPerson, firmaPage, newLoaNortheastExcelFileUpload, newLoaSoutheastExcelFileUpload, doPublishingProcessingPostUrl, loaUploadFormID, listOfTabularDataImports); var viewModel = new ManageExcelUploadsAndEtlViewModel(); return(RazorView <ManageExcelUploadsAndEtl, ManageExcelUploadsAndEtlViewData, ManageExcelUploadsAndEtlViewModel>(viewData, viewModel)); }
private ViewResult ViewManageExcelUploadsAndEtl_Impl() { var firmaPage = FirmaPageTypeEnum.UploadBudgetAndInvoiceExcel.GetFirmaPage(); var fbmsUploadFormID = GenerateUploadFbmsFileUploadFormId(); var pnBudgetsUploadFormID = GeneratePnBudgetsUploadFormID(); var newFbmsExcelFileUploadUrl = SitkaRoute <ExcelUploadController> .BuildUrlFromExpression(x => x.ImportFbmsExcelFile()); var newPnBudgetExcelFileUploadUrl = SitkaRoute <ExcelUploadController> .BuildUrlFromExpression(x => x.ImportPnBudgetsExcelFile()); var doPublishingProcessingPostUrl = SitkaRoute <ExcelUploadController> .BuildUrlFromExpression(x => x.DoPublishingProcessing(null)); var viewData = new ManageExcelUploadsAndEtlViewData(CurrentFirmaSession, firmaPage, newFbmsExcelFileUploadUrl, newPnBudgetExcelFileUploadUrl, doPublishingProcessingPostUrl, fbmsUploadFormID, pnBudgetsUploadFormID); var viewModel = new ManageExcelUploadsAndEtlViewModel(); return(RazorView <ManageExcelUploadsAndEtl, ManageExcelUploadsAndEtlViewData, ManageExcelUploadsAndEtlViewModel>(viewData, viewModel)); }
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(Logger); //int blah = 2; //if (1 == blah-1) //{ // //throw new Exception("Fake exception to test ideas.."); //} // If we get this far, we've succeeded. // Log last import as successful. var processedDateTime = DateTime.Now; var latestImportProcessingForFbms = ImpProcessing.GetLatestImportProcessingForGivenType(HttpRequestStorage.DatabaseEntities, ImpProcessingTableType.FBMS); var latestImportProcessingForPnBudget = ImpProcessing.GetLatestImportProcessingForGivenType(HttpRequestStorage.DatabaseEntities, ImpProcessingTableType.PNBudget); if (latestImportProcessingForFbms == null || latestImportProcessingForPnBudget == null) { // We don't expect this to really happen once things are running smoothly, but in the short // term I want to know about it. SetErrorForDisplay($"Could not find processing records for last upload (ImpProcessing)"); } else { latestImportProcessingForFbms.LastProcessedDate = processedDateTime; latestImportProcessingForFbms.LastProcessedPerson = CurrentFirmaSession.Person; latestImportProcessingForPnBudget.LastProcessedDate = processedDateTime; latestImportProcessingForPnBudget.LastProcessedPerson = CurrentFirmaSession.Person; HttpRequestStorage.DatabaseEntities.SaveChanges(this.CurrentFirmaSession); } } catch (Exception e) { SetErrorForDisplay($"Problem executing Publishing: {e.Message}"); wasErrorDuringProcessing = true; } ProjectTaxonomyLeafTest.CallAllTaxonomyLeavesForAllProjectsToCheckForCrashes(); 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. SetWarningForDisplay($"Publishing Processing had problems.<br/>{processingTimeString}"); } return(RedirectToAction(new SitkaRoute <ExcelUploadController>(x => x.ManageExcelUploadsAndEtl()))); }