Пример #1
0
        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);
        }