internal ScannerContext(IScannerDevice device, ILogger?logger = null) { _device = device; _logger = logger; if (_logger is not null) { device.MonitorChanged += (sender, eventArgs) => _logger.Log(eventArgs.Data?.ToString() ?? ""); } }
internal ScannerContext(IScannerDevice device, string outputDirectory) { _device = device; _outputDirectory = outputDirectory; _device.NewScanEvent += (sender, eventArgs) => { _imageProcessorPipeline?.Run(eventArgs.Picture !); Save(eventArgs.FileName !, eventArgs.Picture !); }; }
public ScannerContext(IScannerDevice device, IScanStrategyResolver scanStrategyResolver, ScanStrategyName strategyName, ILogger <ScannerContext> logger) { _device = device; _logger = logger; _saver = scanStrategyResolver.GetScanSaverByName(strategyName.Name ?? ""); if (_logger is not null) { device.MonitorChanged += (sender, eventArgs) => _logger.LogInformation(eventArgs.Data?.ToString() ?? ""); } }
public override void ScanAndSave(IScannerDevice device, string fileName) { if (Path.GetExtension(fileName).ToLower() != ".docx") { throw new IOException("Ошибка формата файла"); } using var writer = new FileStream(fileName, FileMode.Create); var reader = device.Scan(); var buffer = new byte[1024]; int read = 0; while ((read = reader.Read(buffer, 0, buffer.Length)) > 0) { writer.Write(buffer, 0, read); } }
private ScannerContextBuilder(IScannerDevice device, string outputDirectory) => (_device, _outputDirectory) = (device, outputDirectory);
private ScannerContextBuilder(IScannerDevice device) => _device = device;
public abstract void ScanAndSave(IScannerDevice device, string fileName);