private void WriteToChannel(FileEntry change, FileTaskEnum operation) { if (_settings.FilterDirectoriesForwardFilesOnly) { FileAttributes attr = File.GetAttributes(Path.Combine(_settingsFileWatcher.ScanDirectory, change.FileName)); if (attr.HasFlag(FileAttributes.Directory)) { Trace.TraceInformation($"[{change.FileName}] is a directory - skipping due to filter"); return; } } //Trace.TraceInformation($"Adding changes from [{change.FileName}] - [{change.LastChanges}]"); if (!_channel.Writer.TryWrite(new FileTask(change.FileName, operation, _lastError))) { Error($"HandleFileChanges - Channel full: {change.FileName} {operation}"); } else { if (_lastError != String.Empty) { _lastError = String.Empty; } } }
public FileTask(string fileName, FileTaskEnum fileTask, string lastError) { this.FileName = fileName; this.FileOperation = fileTask; this.LastError = lastError; }