public void MergeSheets() { if (!CheckSheetFileExistence()) { string msg = $"Pdf merging stopped, check files."; logger.Log(LogFactory.CreateWarningMessage(msg)); return; } if (!CheckInitialSettings()) { string msg = $"Pdf merging stopped, check settings."; logger.Log(LogFactory.CreateWarningMessage(msg)); return; } SheetSetBuilder setBuilder = new SheetSetBuilder(); List <SheetSet> sets = setBuilder.CreateSheetSets(Sheets.GetAllTargetItems(), Settings).ToList(); PdfMerger.MergePdfs(sets, Settings); if (Settings.OpendAfterMerging) { foreach (SheetSet set in sets) { System.Diagnostics.Process.Start(set.FullPath); } if (Settings.CreateCombinationFile) { if (!System.IO.File.Exists(Settings.CombinationFilePath)) { string msg = $"Can not open file '{Settings.CombinationFilePath}', file does not exists."; logger.Log(LogFactory.CreateWarningMessage(msg)); return; } System.Diagnostics.Process.Start(Settings.CombinationFilePath); } else { foreach (SheetSet set in sets) { if (!System.IO.File.Exists(set.FullPath)) { string msg = $"Can not open file '{set.FullPath}', file does not exists."; logger.Log(LogFactory.CreateWarningMessage(msg)); } else { System.Diagnostics.Process.Start(set.FullPath); } } } } }
private bool CheckSheetFileExistence() { bool result = true; foreach (Sheet s in Sheets.GetAllTargetItems()) { if (!s.Exists()) { result = false; string msg = $"File '{s.FullPath}' does not exists."; logger.Log(LogFactory.CreateErrorMessage(msg)); } } return(result); }
//private bool createPdfFilesToFirtsSheetDirectory; //public bool CreatePdfFilesToFirtsSheetDirectory //{ // get { return createPdfFilesToFirtsSheetDirectory; } // set { SetProperty(ref createPdfFilesToFirtsSheetDirectory, value); } //} //private string directoryPathForPdfs; //public string DirectoryPathForPdfs //{ // get { return directoryPathForPdfs; } // set { SetProperty(ref directoryPathForPdfs, value); } //} //private bool createCombinationFile; //public bool CreateCombinationFile //{ // get { return createCombinationFile; } // set { SetProperty(ref createCombinationFile, value); } //} //private string combinationFilePath; //public string CombinationFilePath //{ // get { return combinationFilePath; } // set { SetProperty(ref combinationFilePath, value); } //} //private string sheetSeparator; //public string SheetSeparator //{ // get { return sheetSeparator; } // set { SetProperty(ref sheetSeparator, value); } //} //private bool opendAfterMerging; //public bool OpendAfterMerging //{ // get { return opendAfterMerging; } // set { SetProperty(ref opendAfterMerging, value); } //} #endregion #region methods //private void ReadSettings() //{ // CreatePdfFilesToFirtsSheetDirectory = Properties.Settings.Default.SaveToSameDirectoryAsFirstSheet; // DirectoryPathForPdfs = Properties.Settings.Default.SaveDirectoryPath; // CreateCombinationFile = Properties.Settings.Default.CreateCombinationFile; // CombinationFilePath = Properties.Settings.Default.CombinationFilePath; // SheetSeparator = Properties.Settings.Default.SheetSeparator; // OpendAfterMerging = Properties.Settings.Default.OpenAfterMerge; //} //public void SaveSettings() //{ // Properties.Settings.Default.SaveToSameDirectoryAsFirstSheet = CreatePdfFilesToFirtsSheetDirectory; // Properties.Settings.Default.SaveDirectoryPath = DirectoryPathForPdfs; // Properties.Settings.Default.CreateCombinationFile = CreateCombinationFile; // Properties.Settings.Default.CombinationFilePath = CombinationFilePath; // Properties.Settings.Default.SheetSeparator = SheetSeparator; // Properties.Settings.Default.OpenAfterMerge = OpendAfterMerging; // Properties.Settings.Default.Save(); //} public void AddSheet(string filepath) { if (!filepath.EndsWith(".pdf")) { string msg = $"File '{filepath}' discarded (not pdf)."; logger.Log(LogFactory.CreateWarningMessage(msg)); return; } foreach (Sheet item in Sheets.GetAllTargetItems()) { if (item.FullPath.Equals(filepath)) { string msg = $"File '{filepath}' was already in the list."; logger.Log(LogFactory.CreateWarningMessage(msg)); return; } } if (!CheckSheetSeparator()) { return; } string fileName = System.IO.Path.GetFileName(filepath); if (!fileName.Contains(Settings.SheetSeparator)) { string msg = $"File name '{fileName}' does not contain sheet separator '{Settings.SheetSeparator}', file discarded."; logger.Log(LogFactory.CreateWarningMessage(msg)); return; } Sheet sheet = new Sheet(filepath, Settings.SheetSeparator); Sheets.AddItem(sheet); }