private void WorkProcess()
        {
            do
            {
                foreach (var fileName in _fileManager.GetInputFiles())
                {
                    if (_stopRequested.WaitOne(TimeSpan.Zero))
                    {
                        return;
                    }

                    if (_fileManager.TryOpen(fileName, 3, 5000))
                    {
                        try
                        {
                            if (_barcodeManager.IsBarcode(fileName))
                            {
                                var sourceFiles = _fileManager.GetTempFiles();
                                var pdfName     = Path.Combine(_fileManager.OutputPath, Guid.NewGuid().ToString() + ".pdf");

                                Debug.WriteLine(string.Format("Generating resulting PDF...", fileName));

                                _fileManager.Delete(fileName);
                                _documentManager.GeneratePdf(pdfName, sourceFiles);
                                _fileManager.ClearTemp();
                            }
                            else
                            {
                                Debug.WriteLine(string.Format("Moving {0} to temp folder...", fileName));
                                _fileManager.MoveToTemp(fileName);
                            }

                            continue;
                        }
                        catch (Exception ex)
                        {
                            Debug.WriteLine("Exception has occured!");
                            Debug.WriteLine(ex.Message);
                        }

                        try
                        {
                            Debug.WriteLine(string.Format("Moving {0} to corrupted folder...", fileName));
                            _fileManager.MoveToCorrupted(fileName);
                        }
                        catch (Exception ex)
                        {
                            Debug.WriteLine("Exception has occured!");
                            Debug.WriteLine(ex.Message);
                        }
                    }
                }
            } while (WaitHandle.WaitAny(new WaitHandle[] { _stopRequested, _fileCreated }) != 0);
        }
Example #2
0
        private void PublishPdf()
        {
            var sourceFiles = _fileManager.GetTempFiles();

            if (sourceFiles.Count() <= 0)
            {
                return;
            }

            Debug.WriteLine("Generating resulting PDF...");

            var content = _documentManager.GeneratePdf(sourceFiles).ToArray();

            _documentPublisher.Publish(content);
        }