Exemplo n.º 1
0
 public GeoCli(IGeoReverseLookup geoReverseLookup,
               IGeoLocationWrite geoLocationWrite, ISelectorStorage selectorStorage, AppSettings appSettings, IConsole console,
               IGeoFileDownload geoFileDownload, IExifToolDownload exifToolDownload)
 {
     _geoReverseLookup = geoReverseLookup;
     _geoLocationWrite = geoLocationWrite;
     _iStorage         = selectorStorage.Get(SelectorStorage.StorageServices.SubPath);
     _thumbnailStorage = selectorStorage.Get(SelectorStorage.StorageServices.Thumbnail);
     _readMeta         = new ReadMeta(_iStorage, appSettings);
     _appSettings      = appSettings;
     _console          = console;
     _exifToolDownload = exifToolDownload;
     _geoFileDownload  = geoFileDownload;
 }
Exemplo n.º 2
0
        /// <summary>
        /// Getting GeoData
        /// </summary>
        /// <param name="appSettings">to know where to store the temp files</param>
        /// <param name="geoFileDownload">Abstraction to download Geo Data</param>
        /// <param name="memoryCache">for keeping status</param>
        public GeoReverseLookup(AppSettings appSettings, IGeoFileDownload geoFileDownload, IMemoryCache memoryCache = null, IWebLogger logger = null)
        {
            // Needed when not having this, application will fail
            geoFileDownload.Download().ConfigureAwait(false);
            _appSettings      = appSettings;
            _logger           = logger;
            _admin1CodesAscii = GeoFileReader.ReadAdmin1Codes(
                Path.Combine(appSettings.TempFolder, "admin1CodesASCII.txt"));

            // Create our ReverseGeoCode class and supply it with data
            InitReverseGeoCode();

            _cache = memoryCache;
        }
        public GeoFileDownloadBackgroundServiceTest()
        {
            var services = new ServiceCollection();

            services.AddSingleton <AppSettings>();
            services.AddSingleton <BackgroundService, GeoFileDownloadBackgroundService>();
            services.AddSingleton <IGeoFileDownload, FakeIGeoFileDownload>();
            services.AddSingleton <IConsole, FakeConsoleWrapper>();

            var serviceProvider = services.BuildServiceProvider();

            _serviceScopeFactory = serviceProvider.GetRequiredService <IServiceScopeFactory>();
            _geoFileDownload     = serviceProvider.GetRequiredService <IGeoFileDownload>();

            var console = serviceProvider.GetRequiredService <IConsole>();

            _console = console as FakeConsoleWrapper;
        }