/// <summary> /// Inicializa a isntancia. /// </summary> /// <param name="parameters">Parametros de configuração.</param> public void Init(System.Collections.IDictionary parameters) { var manager = parameters["manager"] as IDataCacheManager; var downloader = parameters["downloader"] as IDataEntryDownloader; var repository = parameters["repository"] as IDataEntriesRepository; var logger = parameters["logger"] as Colosoft.Logging.ILogger; var typeSchema = parameters["typeSchema"] as Colosoft.Data.Schema.ITypeSchema; var cacheLoaderObserver = parameters["cacheLoaderObserver"] as ICacheLoaderObserver; manager.Require("manager").NotNull(); downloader.Require("downloader").NotNull(); repository.Require("repository").NotNull(); typeSchema.Require("typeSchema").NotNull(); logger.Require("logger").NotNull(); _manager = manager; _downloader = downloader; _repository = repository; _logger = logger; _typeSchema = typeSchema; if (cacheLoaderObserver != null) { _observer += cacheLoaderObserver; } downloader.DownloadCompleted += Downloader_DownloadCompleted; downloader.ProgressChanged += Downloader_ProgressChanged; }
/// <summary> /// Construtor padrão. /// </summary> /// <param name="sourceContext">Contexto de origem que será usado para fazer as consulta no banco de dados.</param> /// <param name="typeSchema"></param> /// <param name="dataEntryDownloader">Instancia do downloader da entradas de dados.</param> /// <param name="dataEntriesRepository">Instancia do repositório das entradas de dados.</param> /// <param name="cacheLoaderObverser">Observer o loader.</param> /// <param name="logger"></param> public DataCacheManager(Colosoft.Query.ISourceContext sourceContext, ITypeSchema typeSchema, IDataEntryDownloader dataEntryDownloader, IDataEntriesRepository dataEntriesRepository, ICacheLoaderObserver cacheLoaderObverser, Colosoft.Logging.ILogger logger) { sourceContext.Require("sourceContext").NotNull(); typeSchema.Require("typeSchema").NotNull(); dataEntryDownloader.Require("dataEntryDownloader").NotNull(); dataEntriesRepository.Require("dataEntriesRepository").NotNull(); cacheLoaderObverser.Require("cacheLoaderObserver").NotNull(); logger.Require("logger").NotNull(); _sourceContext = sourceContext; _typeSchema = typeSchema; _dataEntryDownloader = dataEntryDownloader; _dataEntriesRepository = dataEntriesRepository; _cacheLoaderObserver = cacheLoaderObverser; _logger = logger; }