示例#1
0
文件: Import.cs 项目: qdraw/starsky
        public Import(
            ISelectorStorage selectorStorage,
            AppSettings appSettings,
            IImportQuery importQuery,
            IExifTool exifTool,
            IQuery query,
            IConsole console,
            IMetaExifThumbnailService metaExifThumbnailService,
            IWebLogger logger,
            IMemoryCache?memoryCache = null)
        {
            _importQuery = importQuery;

            _filesystemStorage = selectorStorage.Get(SelectorStorage.StorageServices.HostFilesystem);
            _subPathStorage    = selectorStorage.Get(SelectorStorage.StorageServices.SubPath);
            _thumbnailStorage  = selectorStorage.Get(SelectorStorage.StorageServices.Thumbnail);

            _appSettings                 = appSettings;
            _readMetaHost                = new ReadMeta(_filesystemStorage, appSettings);
            _exifTool                    = exifTool;
            _query                       = query;
            _console                     = console;
            _metaExifThumbnailService    = metaExifThumbnailService;
            _memoryCache                 = memoryCache;
            _logger                      = logger;
            _updateImportTransformations = new UpdateImportTransformations(logger, _exifTool, selectorStorage, appSettings);
        }
示例#2
0
 public ImportQueryFactory(SetupDatabaseTypes setupDatabaseTypes, IImportQuery importQuery, IConsole console, IWebLogger logger)
 {
     _setupDatabaseTypes = setupDatabaseTypes;
     _importQuery        = importQuery;
     _console            = console;
     _logger             = logger;
 }
示例#3
0
        public ImportTestInMemoryDb()
        {
            var provider = new ServiceCollection()
                           .AddMemoryCache();

            _appSettings = new AppSettings {
                DatabaseType = AppSettings.DatabaseTypeList.InMemoryDatabase,
                Verbose      = true
            };

            provider.AddSingleton(_appSettings);

            new SetupDatabaseTypes(_appSettings, provider).BuilderDb();
            provider.AddScoped <IQuery, Query>();
            provider.AddScoped <IImportQuery, ImportQuery>();
            provider.AddScoped <IWebLogger, FakeIWebLogger>();
            provider.AddSingleton <IConsole, FakeConsoleWrapper>();
            var serviceProvider = provider.BuildServiceProvider();

            _query       = serviceProvider.GetRequiredService <IQuery>();
            _importQuery = serviceProvider.GetRequiredService <IImportQuery>();

            _console = new ConsoleWrapper();

            _iStorageFake = new FakeIStorage(
                new List <string> {
                "/"
            },
                new List <string> {
                "/test.jpg", "/color_class_winner.jpg"
            },
                new List <byte[]> {
                CreateAnImage.Bytes, CreateAnImageColorClass.Bytes
            }
                );

            _exampleHash = new FileHash(_iStorageFake).GetHashCode("/test.jpg").Key;
        }
示例#4
0
 public ImportHistoryController(IImportQuery importQuery)
 {
     _importQuery = importQuery;
 }