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; }
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; }
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..."); } } }); } }