protected void loadExpectedThesisFile() { MaskedFileInfo expectedFileInfo = expectedFileLookup(DiscContents.getInstance()); ViewModel viewModel = ViewModel.getInstance(); if (expectedFileInfo != null) { viewModel.ExpectedThesisFile = expectedFileInfo; viewModel.SelectedThesisFile = expectedFileInfo; } loadSelectedThesisFile(); }
protected MaskedFileInfo expectedFileLookup(DiscContents contents) { List <MaskedFileInfo> potentialFileList = new List <MaskedFileInfo>(); MaskedFileInfo largestPdfFile = null; foreach (MaskedFileInfo maskedFileInfo in contents.MaskedFileInfoList) { if (maskedFileInfo == null) { continue; } FileInfo fileInfo = maskedFileInfo.FileInfo; string filePathLower = fileInfo.FullName.ToLower(); if (EXPECTED_FILE_PATTERN_REGEX.IsMatch(filePathLower)) { potentialFileList.Add(maskedFileInfo); } if (filePathLower.EndsWith("pdf") && fileInfo.Length > (largestPdfFile == null ? 0 : largestPdfFile.FileInfo.Length)) { largestPdfFile = maskedFileInfo; } } if (potentialFileList.Count > 0) { MaskedFileInfo largerPdfFile = null; foreach (MaskedFileInfo potentialFileInfo in potentialFileList) { if (potentialFileInfo.FileInfo.Length > (largerPdfFile == null ? 0 : largerPdfFile.FileInfo.Length)) { largerPdfFile = potentialFileInfo; } } return(largerPdfFile); } if (largestPdfFile != null) { return(largestPdfFile); } return(null); }
public void loadSelectedThesisFile() { ViewModel.getInstance().ProgressBarColor = Color.Yellow; MaskedFileInfo selectedFileInfo = ViewModel.getInstance().SelectedThesisFile; ViewModel viewModel = ViewModel.getInstance(); if (selectedFileInfo != null) { viewModel.SaveButtonEnabled = false; ThesisRecord thesisRecord = MainThread.getInstance().ThesisRecord; thesisRecord.clearExtractedData(); viewModel.SelectedThesisFile = selectedFileInfo; viewModel.EnableContentFileListbox = false; thesisRecord.PdfTexts = ""; PdfReaderHelper.getInstance().unload(); string tempPdfFileName = FileUtils.CopyPdfToTemp(selectedFileInfo.FileInfo.FullName); loadPDF(tempPdfFileName); viewModel.EnableContentFileListbox = true; determineThesisRecord(thesisRecord); MainThread.getInstance().MatchingInventoryList.Clear(); List <InventoryRecord> matchingInventoryRecords = getMatchingInventoryRecordList(thesisRecord); if (matchingInventoryRecords.Count > 0) { foreach (InventoryRecord matchingRecord in matchingInventoryRecords) { MainThread.getInstance().MatchingInventoryList.Add(matchingRecord); } InventoryStore.getInstance().updateSelectedInventoryRecord(matchingInventoryRecords.First()); } else { InventoryStore.getInstance().updateSelectedInventoryRecord(null); } //markupRecordDifference(); thesisRecord.EnableValidation = true; viewModel.SaveButtonEnabled = true; } ViewModel.getInstance().ProgressPercentage += 50; }