Esempio n. 1
0
        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);
        }
Esempio n. 2
0
 public FileSystemWatcherFactory(
     IPathService pathService,
     FileSystemWatcherConfiguration fileSystemWatcherConfiguration)
 {
     _pathService = pathService;
     _fileSystemWatcherConfiguration = fileSystemWatcherConfiguration;
 }
Esempio n. 3
0
        // 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);
    }
Esempio n. 5
0
        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);
        }
Esempio n. 6
0
        public AggregatingFileSystemWatcherDecorator(
            IPathService pathService,
            IFileSystemWatcher fileSystemWatcher,
            FileSystemWatcherConfiguration configuration)
        {
            _pathService       = pathService;
            _fileSystemWatcher = fileSystemWatcher;
            _eventsQueue       = new ConcurrentQueue <FileSystemEventArgs>();
            _timer             = new Timer(configuration.RefreshIntervalMs);

            SubscribeToEvents();
            StartTimer();
        }
Esempio n. 7
0
        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);
        }
Esempio n. 8
0
        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;
        }