private static void RegisterConfiguration(IMutableDependencyResolver services) { var configuration = new ConfigurationBuilder() .AddJsonFile("appsettings.json") .Build(); var aboutDialogConfiguration = new AboutDialogConfiguration(); configuration.GetSection("About").Bind(aboutDialogConfiguration); services.RegisterConstant(aboutDialogConfiguration); var databaseName = configuration["DataAccess:DatabaseName"]; var assemblyLocation = Assembly.GetEntryAssembly()?.Location; var assemblyDirectory = Path.GetDirectoryName(assemblyLocation); var databaseConfiguration = new DatabaseConfiguration { ConnectionString = Path.Combine(assemblyDirectory, databaseName) }; services.RegisterConstant(databaseConfiguration); var fileSystemWatcherConfiguration = new FileSystemWatcherConfiguration(); configuration.GetSection("FileSystemWatcher").Bind(fileSystemWatcherConfiguration); services.RegisterConstant(fileSystemWatcherConfiguration); }
public FileSystemWatcherFactory( IPathService pathService, FileSystemWatcherConfiguration fileSystemWatcherConfiguration) { _pathService = pathService; _fileSystemWatcherConfiguration = fileSystemWatcherConfiguration; }
// Define the event handlers. static private void OnChanged(object source, FileSystemEventArgs e) { System.Threading.Thread.Sleep(4000); // Specify what is done when a file is changed, created, or deleted. Console.WriteLine("File: " + e.FullPath + " " + e.ChangeType); System.IO.FileSystemWatcher s = (System.IO.FileSystemWatcher)source; // string sourcePath = (string)source.GetType().GetProperty("path").GetValue(source, null); FileSystemWatcherConfiguration config = configurations.Where(x => x.Source == s.Path).FirstOrDefault(); if (System.IO.Directory.Exists(config.Source)) { string[] files = System.IO.Directory.GetFiles(config.Source); // Copy the files and overwrite destination files if they already exist. foreach (string file in files) { // Use static Path methods to extract only the file name from the path. new Formats().Read(); new FIle().Move(config.Source, file, config.Target, file); new Notification().Notify($"{config.Source} {file}"); } } else { Console.WriteLine("Source path does not exist!"); } }
private static void RegisterFileSystemWatcherConfiguration(IMutableDependencyResolver services, IConfiguration configuration) { var config = new FileSystemWatcherConfiguration(); configuration.GetSection("FileSystemWatcher").Bind(config); services.RegisterConstant(config); }
public FileSystemWatcher Scan(FileSystemWatcherConfiguration parameters) { FileSystemWatcher watcher = new FileSystemWatcher(parameters.Source); watcher.Path = parameters.Source; watcher.Filter = parameters.Filter; watcher.Changed += OnChanged; //Attach them to the same listeners,,, configurations.Add(parameters); //Set additional parameters... return(watcher); }
public AggregatingFileSystemWatcherDecorator( IPathService pathService, IFileSystemWatcher fileSystemWatcher, FileSystemWatcherConfiguration configuration) { _pathService = pathService; _fileSystemWatcher = fileSystemWatcher; _eventsQueue = new ConcurrentQueue <FileSystemEventArgs>(); _timer = new Timer(configuration.RefreshIntervalMs); SubscribeToEvents(); StartTimer(); }
private static void RegisterConfiguration(IMutableDependencyResolver services) { var configuration = new ConfigurationBuilder() .AddJsonFile("appsettings.json") .Build(); var aboutDialogConfiguration = new AboutDialogConfiguration(); configuration.GetSection("About").Bind(aboutDialogConfiguration); services.RegisterConstant(aboutDialogConfiguration); var databaseName = configuration["DataAccess:DatabaseName"]; var connectionString = configuration["DataAccess:ConnectionString"]; var assemblyLocation = Assembly.GetEntryAssembly()?.Location; var assemblyDirectory = Path.GetDirectoryName(assemblyLocation); var databaseConfiguration = new DatabaseConfiguration { ConnectionString = string.Format(connectionString, Path.Combine(assemblyDirectory, databaseName)) }; services.RegisterConstant(databaseConfiguration); var fileSystemWatcherConfiguration = new FileSystemWatcherConfiguration(); configuration.GetSection("FileSystemWatcher").Bind(fileSystemWatcherConfiguration); services.RegisterConstant(fileSystemWatcherConfiguration); var imagePreviewConfiguration = new ImagePreviewConfiguration(); configuration.GetSection("ImagePreview").Bind(imagePreviewConfiguration); services.RegisterConstant(imagePreviewConfiguration); var filePanelConfiguration = new FilePanelConfiguration(); configuration.GetSection("FilePanel").Bind(filePanelConfiguration); services.RegisterConstant(filePanelConfiguration); var searchViewModelConfiguration = new SearchViewModelConfiguration(); configuration.GetSection("SearchPanel").Bind(searchViewModelConfiguration); searchViewModelConfiguration.InvalidRegexResourceName = nameof(Resources.InvalidRegex); services.RegisterConstant(searchViewModelConfiguration); var driveServiceConfiguration = new DriveServiceConfiguration(); configuration.GetSection("Drives").Bind(driveServiceConfiguration); services.RegisterConstant(driveServiceConfiguration); }
public TorrentFileSystemWatcher( IOptions <FileSystemWatcherConfiguration> config, ILogger <TorrentFileSystemWatcher> logger) { _config = config.Value; _logger = logger; if (_config.Path == null || !Directory.Exists(_config.Path)) { throw new DirectoryNotFoundException(); } this.Path = _config.Path; this.Filter = "*.torrent"; this.NotifyFilter = NotifyFilters.FileName; }