private void DiscoverExistingFiles() { Logger.Info("Discovering Party Poker Hand Histories Started"); long totalHandsFound = 0; List <FileInfo> files = _parser.DiscoverHandHistoryFiles(); string dir = _parser.HandHistoryDir; int count = files.Count; for (int i = 0; i < files.Count; i++) { FileInfo file = files[i]; long hands = _parser.CountHandsInFile(file); totalHandsFound += hands; } Logger.Info("Found {0} hand history files ({1} hands) in folder {2}", count, totalHandsFound, dir); if (files.Count > 0) { lock (_fileLock) { for (int i = 0; i < files.Count; i++) { FileInfo file = files[i]; _filesToImport.Enqueue(file); } } _fileWait.Set(); } }
private void FileWatchTimer_Tick(object state) { this.Stop(); string pattern = "*.txt"; List <FileInfo> files = new List <FileInfo>(); PartyPokerParser.DiscoverHandHistoryFiles(this.WatchDirectory, pattern, files); List <FileInfo> changes = new List <FileInfo>(); foreach (FileInfo file in files) { bool parseFile = false; DateTime create = file.CreationTime; DateTime write = file.LastWriteTime; long size = file.Length; if (_fileSizes.ContainsKey(file.FullName)) { parseFile = size > _fileSizes[file.FullName]; } else { parseFile = create >= this.LastCheck; } _fileSizes[file.FullName] = file.Length; if (parseFile) { changes.Add(file); } } if (changes.Count > 0) { foreach (FileInfo file in changes) { FileSystemEventArgs e = new FileSystemEventArgs(WatcherChangeTypes.Changed, file.DirectoryName, file.Name); OnFileChanged(this, e); } } this.LastCheck = DateTime.Now; this.Start(); }