Example #1
0
 public ImageFileConverter(IFileParser fileParser, IOutputSupplier outputSupplier) : base(fileParser, outputSupplier)
 {
 }
Example #2
0
        private async Task startInBg()
        {
            var outputDir = txtOutputRootDir.Text;

            ConvertConfig convertConfig = new ConvertConfig()
            {
                KeepIntermediateFiles = chkOutputTxt.IsChecked ?? false,
                ChangeDateTimes       = chkChangeDateTimes.IsChecked ?? false,
                RootDir         = txtRootDir.Text,
                OutputDir       = outputDir,
                Filter          = txtWalkdirFilter.Text,
                NewCreatedTime  = dpCreatedDT.Value,
                NewModifiedTime = dpModifiedDT.Value,
            };

            if (chkOutlookMsg.IsChecked ?? false)
            {
                convertConfig.SourceFiles |= FileType.OUTLOOK_MSG;
            }
            if (chkWord.IsChecked ?? false)
            {
                convertConfig.SourceFiles |= FileType.WORD;
            }
            if (chkPowerpoint.IsChecked ?? false)
            {
                convertConfig.SourceFiles |= FileType.POWERPOINT;
            }
            if (chkExcel.IsChecked ?? false)
            {
                convertConfig.SourceFiles |= FileType.EXCEL;
            }
            if (chkCopyImages.IsChecked ?? false)
            {
                convertConfig.SourceFiles |= FileType.IMAGES;
            }
            if (chkOutlookPst.IsChecked ?? false)
            {
                convertConfig.SourceFiles |= FileType.OUTLOOK_PST;
            }

            IOutputSupplier outputSupplier = OutputSupplier.GetDefaultInstance(journalEntryAdded, errorEntryAdded);

            await Task.Run(async() =>
            {
                if (!Directory.Exists(convertConfig.OutputDir))
                {
                    Directory.CreateDirectory(convertConfig.OutputDir);
                }



                if ((convertConfig.SourceFiles & FileType.OUTLOOK_MSG) == FileType.OUTLOOK_MSG)
                {
                    FileConverter outlookFileConverter = new OutlookMsgConverter(new OutlookMsgParser(), outputSupplier);

                    await outlookFileConverter.ProcessInBackgroundAsync(convertConfig);
                }

                FileType officeFiles = FileType.WORD | FileType.POWERPOINT | FileType.EXCEL;
                if ((convertConfig.SourceFiles & officeFiles) == (officeFiles))
                {
                    FileConverter officeFileConverter = new OfficeFileConverter(new OfficeFileParser(), outputSupplier);

                    await officeFileConverter.ProcessInBackgroundAsync(convertConfig);
                }

                if ((convertConfig.SourceFiles & FileType.IMAGES) == FileType.IMAGES)
                {
                    FileConverter fileTransferrer = new ImageFileConverter(new ImageFileParser(), outputSupplier);

                    await fileTransferrer.ProcessInBackgroundAsync(convertConfig);
                }

                if ((convertConfig.SourceFiles & FileType.OUTLOOK_PST) == FileType.OUTLOOK_PST)
                {
                    OutlookPstConverter pstConverter = new OutlookPstConverter(new OutlookPstParser(), outputSupplier);

                    await pstConverter.ProcessInBackgroundAsync(convertConfig);
                }
            });

            if (convertConfig.ChangeDateTimes)
            {
                await Task.Run(async() =>
                {
                    FileConverter dateTimeConverter = new DateTimeConverter(new GeneralPurposeParser(), outputSupplier);

                    await dateTimeConverter.ProcessInBackgroundAsync(convertConfig);
                });
            }
        }
Example #3
0
 public OutlookMsgConverter(IFileParser fileParser, IOutputSupplier outputSupplier) : base(fileParser, outputSupplier)
 {
 }
 public FileConverter(IFileParser fileParser, IOutputSupplier outputSupplier)
 {
     _fileParser = fileParser;
     Output      = outputSupplier;
 }
 public DateTimeConverter(IFileParser fileParser, IOutputSupplier outputSupplier) : base(fileParser, outputSupplier)
 {
 }