public void Dispose(bool disposing) { if (disposing && _watcher != null) { _watcher.Dispose(); _watcher = null; _dshs = null; _dataService = null; } }
public FileWatcher(IDataServiceHostSettings dshs, IProvisionalContractDataService dataService, string path, string filter) { if (!Directory.Exists(path)) { throw new ArgumentException(string.Format("Invalid path. The watch directory {0} is invalid.", path)); } _dshs = dshs; _dataService = dataService as ProvisionalContractDataService; _recordType = _dataService.GetRecordType(nameof(ProvisionalContract)) as ProvisionalContractRecordType; _path = Path.GetFullPath(path); _filter = filter; _successPath = Path.Combine(_path, "Processed"); _failurePath = Path.Combine(_path, "Failed"); _watcher = new FileSystemWatcher(_path, _filter); _watcher.NotifyFilter = NotifyFilters.FileName | NotifyFilters.LastAccess | NotifyFilters.LastWrite | NotifyFilters.CreationTime; _watcher.Created += new FileSystemEventHandler(ProcessFile); _watcher.Changed += new FileSystemEventHandler(ProcessFile); _watcher.EnableRaisingEvents = true; }