Beispiel #1
0
        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);
        }
Beispiel #2
0
        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(...)");
            }
        }
Beispiel #3
0
        private void FileSetReady(bool isFileReady)
        {
            var args = new ManualResetEventArgs(isFileReady);

            OnFileReady?.Invoke(this, args);
        }