public void AddFileMonitor(string filepath) { foreach (var fileMonitor in FileMonitors) { if (!fileMonitor.FilePath.Equals(filepath, StringComparison.InvariantCultureIgnoreCase)) { continue; } // Already being monitored SelectedFile = fileMonitor; return; } var monitorViewModel = new FileMonitorViewModel ( filepath, Path.GetFileName(filepath), Settings.Default.DefaultEncoding, Settings.Default.BufferedRead ); monitorViewModel.Renamed += MonitorViewModelOnRenamed; monitorViewModel.Updated += MonitorViewModelOnUpdated; FileMonitors.Add(monitorViewModel); SelectedFile = monitorViewModel; }
private void AddFileMonitor(string filepath) { var existingMonitor = FileMonitors.FirstOrDefault(m => string.Equals(m.FilePath, filepath, StringComparison.CurrentCultureIgnoreCase)); if (existingMonitor != null) { // Already being monitored SelectedItem = existingMonitor; return; } var monitorViewModel = new FileMonitorViewModel(filepath, GetFileNameForPath(filepath), Settings.Default.DefaultEncoding, Settings.Default.BufferedRead); monitorViewModel.Renamed += MonitorViewModelOnRenamed; monitorViewModel.Updated += MonitorViewModelOnUpdated; FileMonitors.Add(monitorViewModel); SelectedItem = monitorViewModel; }