private void WatchItem_OnFileReady(object sender, FileChangeEventArgs e) { if (LogFileReadyEvents) { Console.WriteLine($"Time: {DateTime.Now.TimeOfDay}\t File: {e.FileName,-50} ready."); } OnFileReady?.Invoke(this, e); }
private async Task OnFileChanged(object sender, FileSystemEventArgs e) { if (FSWUseRegex && !Regex.IsMatch(e.Name, FSWRegex)) { return; } try { var f = new FileInfo(e.FullPath); if (_filteredFileTypes != null && !_filteredFileTypes.Any(str => f.Extension.Equals(str))) { return; } var eventTime = DateTime.Now; string fileName = e.Name; if (LogFSWEvents) { Log.Information($"[Event] Time: {eventTime.TimeOfDay}\\t ChangeType: {e.ChangeType}\t FileName: {fileName}\t Path: {e.FullPath}"); } var res = await IsFileReadyAsync(e); if (res.Item1) { OnFileReady?.Invoke(this, res.Item2); if (LogFileReadyEvents) { Log.Information($"[Ready] Time :{DateTime.Now.TimeOfDay}\t ChangeType: {e.ChangeType} \t FileName:{fileName}"); } } } catch (Exception ex) { Log.Error(ex, "FileWatchExecutor.OnFileChanged(...)"); } }
private void FileSetReady(bool isFileReady) { var args = new ManualResetEventArgs(isFileReady); OnFileReady?.Invoke(this, args); }