private static void RegisterFilePanelConfiguration(IMutableDependencyResolver services,
                                                           IConfiguration configuration)
        {
            var config = new FilePanelConfiguration();

            configuration.GetSection("FilePanel").Bind(config);
            services.RegisterConstant(config);
        }
Ejemplo n.º 2
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);
        }