Пример #1
0
 public MsmqServer(IServerOptions options, IFileSystemManager fileManager, IQueueCreateManager queueManager, IMessageToFilePartMapper messageToFilePartMapper, IFileMessageBuffer messageBuffer, IFileCopyManager copyManager)
 {
     _options                 = options;
     _fileManager             = fileManager;
     _queueCreateManager      = queueManager;
     _messageToFilePartMapper = messageToFilePartMapper;
     _filesBuffer             = messageBuffer;
     _copyManager             = copyManager;
 }
Пример #2
0
 public MsmqServiceFactory(IServerOptionsProvider optionsProvider, IFileSystemManager fileManager, IQueueCreateManager queueManager, IMessageToFilePartMapper messageToFilePartMapper,
                           IFileMessageBuffer buffer, IFileCopyManager copyManager)
 {
     _optionsProvider         = optionsProvider;
     _fileManager             = fileManager;
     _queueManager            = queueManager;
     _messageToFilePartMapper = messageToFilePartMapper;
     _buffer      = buffer;
     _copyManager = copyManager;
 }
Пример #3
0
        public async Task CopyFiles(IFileMessageBuffer buffer)
        {
            var list = buffer.GetReadyFiles();

            if (list.Any())
            {
                await Task.Run(() => {
                    lock (_locker) {
                        foreach (var file in list)
                        {
                            var processor = GetMessageProcessorHelper.GetMessageProcessor(file.FMessage.Type, _options);
                            processor.Processing(file.FMessage.Parts);

                            buffer.RemoveFile(file.FileName);
                            Console.WriteLine($"File with name{file.FMessage.FileName} was copied to folder...");
                        }
                    }
                });
            }
        }