Ejemplo n.º 1
0
        public void Dispose(bool disposing)
        {
            if (disposing && _watcher != null)
            {
                _watcher.Dispose();
                _watcher = null;

                _dshs        = null;
                _dataService = null;
            }
        }
Ejemplo n.º 2
0
        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;
        }